RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1038427 - fail to boot rhel7 guest with Nested virt on Intel host with -cpu host at both levels
Summary: fail to boot rhel7 guest with Nested virt on Intel host with -cpu host at bot...
Keywords:
Status: CLOSED DUPLICATE of bug 1083969
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: kernel
Version: 7.0
Hardware: x86_64
OS: Linux
medium
high
Target Milestone: rc
: ---
Assignee: Marcelo Tosatti
QA Contact: Red Hat Kernel QE team
URL:
Whiteboard:
Depends On:
Blocks: 833649
TreeView+ depends on / blocked
 
Reported: 2013-12-05 06:04 UTC by FuXiangChun
Modified: 2019-03-22 12:09 UTC (History)
13 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-09-24 17:47:13 UTC
Target Upstream Version:
Embargoed:
xfu: needinfo-


Attachments (Terms of Use)
nested virt guest (2.78 KB, image/png)
2013-12-05 06:06 UTC, FuXiangChun
no flags Details

Description FuXiangChun 2013-12-05 06:04:57 UTC
Description of problem:
For Intel host, level 2(level 0 is host os,level 1 is guest first on host,level 2 is guest on guest) guest will hang. I added snapshot of level 2 guest to attachment. guest console don't output any message.

Version-Release number of selected component (if applicable):
host and guest kernel version:
# uname -r
3.10.0-57.el7.x86_64
qemu-kvm-1.5.3-20.el7.x86_64

How reproducible:
100%

Steps to Reproduce:
1.enable nested parameter on host
# modprobe -r kvm_intel
# modprobe kvm_intel nested=1
# cat /sys/module/kvm_intel/parameters/nested 
Y

2. Boot rhel7.0 guest with -cpu host
/usr/libexec/qemu-kvm -M pc -cpu host -enable-kvm -m 8196 -smp 4,sockets=2,cores=2,threads=1 -usb -device usb-tablet,id=input0 -name gpu -uuid 990ea161-6b67-47b2-b803-19fb01d30d30 -rtc base=localtime,clock=host,driftfix=slew -drive file=guest/rhel7.qcow2-1,if=none,id=drive-virtio-disk,format=qcow2,cache=none,aio=native,werror=stop,rerror=stop -device ide-drive,drive=drive-virtio-disk,id=virtio-disk,bootindex=1 -netdev tap,id=hostnet0,vhost=on,script=/etc/qemu-ifup -device rtl8139,netdev=hostnet0,id=virtio-net-pci0,mac=00:01:02:B6:40:21  -global PIIX4_PM.disable_s3=0 -global PIIX4_PM.disable_s4=0 -k en-us -boot menu=on -qmp tcp:0:4444,server,nowait -serial unix:/tmp/ttyS0,server,nowait -vnc :2 -spice disable-ticketing,port=5932 -vga qxl -monitor stdio

3.install qemu-kvm and enable nested inside level 1 guest.
as step1

4. Boot level 2 guest inside level 1 guest with -cpu host
/usr/libexec/qemu-kvm -cpu host  -enable-kvm -m 4096 -smp 4,sockets=2,cores=2,threads=1 -drive file=/home/rhel7.qcow2-1,if=none,id=drive-virtio-disk,format=qcow2,cache=none,aio=native,werror=stop,rerror=stop -device ide-drive,drive=drive-virtio-disk,id=virtio-disk,bootindex=1  -vnc :1 -monitor stdio -serial unix:/tmp/ttyS0,server,nowait -serial unix:/tmp/ttyS0,server,nowait

Actual results:
1.HMP output error message:

(qemu) KVM: entry failed, hardware error 0x7
RAX=00000000000000ff RBX=ffff88011fc0c9a0 RCX=000000000000038f RDX=0000000000000007
RSI=00000000000000ff RDI=000000000000038f RBP=ffff880119b5daf8 RSP=ffff880119b5daf8
R8 =0000000000000004 R9 =ffff880119b5d940 R10=ffff880119b5d890 R11=0000000000000009
R12=ffff88011fc0ccc8 R13=ffff88011fc0c9a0 R14=ffff88011fc0cbc4 R15=0000000000000001
RIP=ffffffff81042fea RFL=00000002 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =0000 0000000000000000 000fffff 00000000
CS =0010 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA]
SS =0000 0000000000000000 ffffffff 00c00000
DS =0000 0000000000000000 000fffff 00000000
FS =0000 0000000000000000 000fffff 00000000
GS =0000 ffff88011fc00000 000fffff 00000000
LDT=0000 0000000000000000 000fffff 00000000
TR =0040 ffff88011fc11b00 00002087 00008b00 DPL=0 TSS64-busy
GDT=     ffff88011fc0a000 0000007f
IDT=     ffffffffff529000 00000fff
CR0=80050033 CR2=00000000ffffffff CR3=000000000189c000 CR4=000407f0
DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000 
DR6=00000000ffff0ff0 DR7=0000000000000400
EFER=0000000000000d01
Code=89 d0 5d c3 66 0f 1f 44 00 00 55 89 f0 89 f9 48 89 e5 0f 30 <31> c0 5d c3 66 90 55 89 f9 48 89 e5 0f 33 89 c0 48 c1 e2 20 48 09 c2 48 89 d0 5d c3 66 2e

2. dmesg output unsupport message
[70040.943669] nested_vmx_run: VMCS MSR_{LOAD,STORE} unsupported

3. level 2 guest hang

Expected results:
level 2 guest works

Additional info:
For AMD host, level 2 guest works well.

Comment 1 FuXiangChun 2013-12-05 06:06:55 UTC
Created attachment 833018 [details]
nested virt guest

Comment 6 FuXiangChun 2014-01-07 08:42:39 UTC
Re-tested this bug with qemu-kvm-rhev-1.5.3-30.el7.x86_64 and 3.10.0-64.el7.x86_64. According to comment4. kvm QE convert test steps to qemu-kvm command line.

Result:
a) Boot L2 guest with "-cpu host" on L1
Still can reproduce this bug as comments 0

b) Boot L2 guest with "-cpu Haswell" on L1 and -smp 1
L2 guest works but dmesg output some warning message as below

[  729.253018] Uhhuh. NMI received for unknown reason 30 on CPU 0.
[  729.253018] Do you have a strange power saving mode enabled?
[  729.253018] Dazed and confused, but trying to continue

c) Boot L2 guest with "-cpu Haswell" on L1 and -smp >1(multiple cpus)
L2 guest will restart automatically(continuous) and console print warning message

[  729.253018] Uhhuh. NMI received for unknown reason 30 on CPU 0.
[  729.253018] Do you have a strange power saving mode enabled?
[  729.253018] Dazed and confused, but trying to continue

Detailed steps.

1) check L0 host parameter values
# cat /sys/module/kvm_intel/parameters/nested
Y
# cat /sys/module/kvm_intel/parameters/enable_shadow_vmcs
Y
# cat /sys/module/kvm_intel/parameters/enable_apicv
N
# cat /sys/module/kvm_intel/parameters/ept
Y

2)Boot RHEL7.0 guest with "-cpu host" and "-smp 4" on L0
/usr/libexec/qemu-kvm -M pc -cpu host -enable-kvm -m 4096 -smp 4,sockets=2,cores=2,threads=1 -usb -device usb-tablet,id=input0 -name gpu -uuid 990ea161-6b67-47b2-b803-19fb01d30d30 -rtc base=localtime,clock=host,driftfix=slew -drive file=/home/rhel7-new.qcow2,if=none,id=drive-virtio-disk,format=qcow2,aio=native,werror=stop,rerror=stop,cache=none -device ide-drive,drive=drive-virtio-disk,id=virtio-disk,bootindex=1 -netdev tap,id=hostnet0,vhost=on,script=/etc/qemu-ifup -device rtl8139,netdev=hostnet0,id=virtio-net-pci0,mac=00:01:02:B6:40:21  -global PIIX4_PM.disable_s3=0 -global PIIX4_PM.disable_s4=0 -k en-us -boot menu=on -qmp tcp:0:4444,server,nowait -serial unix:/tmp/ttyS0,server,nowait -vnc :2 -spice disable-ticketing,port=5932 -vga qxl -monitor stdio

2. Boot RHEL7.0 guest with "-cpu host"/"-cpu Haswell" and "-smp 1"/"-smp >1" on L1

/usr/libexec/qemu-kvm -M pc -cpu Haswell -enable-kvm -m 2048 -smp 1,sockets=1,cores=1,threads=1 -usb -device usb-tablet,id=input0 -name gpu -uuid 990ea161-6b67-47b2-b803-19fb01d30d30 -rtc base=localtime,clock=host,driftfix=slew -drive file=/home/fuxc/rhel7-new.qcow2,if=none,id=drive-virtio-disk,format=qcow2,aio=native,werror=stop,rerror=stop -device ide-drive,drive=drive-virtio-disk,id=virtio-disk,bootindex=1 -netdev tap,id=hostnet0,vhost=on,script=/etc/qemu-ifup -device rtl8139,netdev=hostnet0,id=virtio-net-pci0,mac=00:01:02:B6:40:26 -vnc :3 -monitor stdio -serial unix:/tmp/ttyS0,server,nowait

3. check L2 guest status via console

Test result ummary:
1.This bug can be still reproduced when booting L2 guest with "-cpu host"
2.L2 guest works well when booting L2 guest with "-cpu haswell" and "-smp 1"
3.L2 guest will restart automatically(continuous) when booting L2 guest with "-cpu Haswell" and "-smp >1"


About result c, Is it a new bug?

Comment 7 Kashyap Chamarthy 2014-01-07 09:39:10 UTC
(In reply to FuXiangChun from comment #6)
> Re-tested this bug with qemu-kvm-rhev-1.5.3-30.el7.x86_64 and
> 3.10.0-64.el7.x86_64. According to comment4. kvm QE convert test steps to
> qemu-kvm command line.
> 
> Result:
> a) Boot L2 guest with "-cpu host" on L1
> Still can reproduce this bug as comments 0
> 
> b) Boot L2 guest with "-cpu Haswell" on L1 and -smp 1
> L2 guest works but dmesg output some warning message as below
> 
> [  729.253018] Uhhuh. NMI received for unknown reason 30 on CPU 0.
> [  729.253018] Do you have a strange power saving mode enabled?
> [  729.253018] Dazed and confused, but trying to continue
> 
> c) Boot L2 guest with "-cpu Haswell" on L1 and -smp >1(multiple cpus)
> L2 guest will restart automatically(continuous) and console print warning
> message
> 
> [  729.253018] Uhhuh. NMI received for unknown reason 30 on CPU 0.
> [  729.253018] Do you have a strange power saving mode enabled?
> [  729.253018] Dazed and confused, but trying to continue
> 
> Detailed steps.
> 
> 1) check L0 host parameter values
> # cat /sys/module/kvm_intel/parameters/nested
> Y
> # cat /sys/module/kvm_intel/parameters/enable_shadow_vmcs
> Y
> # cat /sys/module/kvm_intel/parameters/enable_apicv
> N
> # cat /sys/module/kvm_intel/parameters/ept
> Y
> 
> 2)Boot RHEL7.0 guest with "-cpu host" and "-smp 4" on L0
> /usr/libexec/qemu-kvm -M pc -cpu host -enable-kvm -m 4096 -smp
> 4,sockets=2,cores=2,threads=1 -usb -device usb-tablet,id=input0 -name gpu
> -uuid 990ea161-6b67-47b2-b803-19fb01d30d30 -rtc
> base=localtime,clock=host,driftfix=slew -drive
> file=/home/rhel7-new.qcow2,if=none,id=drive-virtio-disk,format=qcow2,
> aio=native,werror=stop,rerror=stop,cache=none -device
> ide-drive,drive=drive-virtio-disk,id=virtio-disk,bootindex=1 -netdev
> tap,id=hostnet0,vhost=on,script=/etc/qemu-ifup -device
> rtl8139,netdev=hostnet0,id=virtio-net-pci0,mac=00:01:02:B6:40:21  -global
> PIIX4_PM.disable_s3=0 -global PIIX4_PM.disable_s4=0 -k en-us -boot menu=on
> -qmp tcp:0:4444,server,nowait -serial unix:/tmp/ttyS0,server,nowait -vnc :2
> -spice disable-ticketing,port=5932 -vga qxl -monitor stdio
> 
> 2. Boot RHEL7.0 guest with "-cpu host"/"-cpu Haswell" and "-smp 1"/"-smp >1"
> on L1
> 
> /usr/libexec/qemu-kvm -M pc -cpu Haswell -enable-kvm -m 2048 -smp
> 1,sockets=1,cores=1,threads=1 -usb -device usb-tablet,id=input0 -name gpu
> -uuid 990ea161-6b67-47b2-b803-19fb01d30d30 -rtc
> base=localtime,clock=host,driftfix=slew -drive
> file=/home/fuxc/rhel7-new.qcow2,if=none,id=drive-virtio-disk,format=qcow2,
> aio=native,werror=stop,rerror=stop -device
> ide-drive,drive=drive-virtio-disk,id=virtio-disk,bootindex=1 -netdev
> tap,id=hostnet0,vhost=on,script=/etc/qemu-ifup -device
> rtl8139,netdev=hostnet0,id=virtio-net-pci0,mac=00:01:02:B6:40:26 -vnc :3
> -monitor stdio -serial unix:/tmp/ttyS0,server,nowait
> 
> 3. check L2 guest status via console
> 
> Test result ummary:
> 1.This bug can be still reproduced when booting L2 guest with "-cpu host"
> 2.L2 guest works well when booting L2 guest with "-cpu haswell" and "-smp 1"
> 3.L2 guest will restart automatically(continuous) when booting L2 guest with
> "-cpu Haswell" and "-smp >1"
> 
> 
> About result c, Is it a new bug?

Possibly.

I CC'ed Paolo to the bug, he may have some insights here.

Comment 8 Marcelo Tosatti 2014-02-23 19:39:08 UTC
(In reply to FuXiangChun from comment #0)
> Description of problem:
> For Intel host, level 2(level 0 is host os,level 1 is guest first on
> host,level 2 is guest on guest) guest will hang. I added snapshot of level 2
> guest to attachment. guest console don't output any message.
> 
> Version-Release number of selected component (if applicable):
> host and guest kernel version:
> # uname -r
> 3.10.0-57.el7.x86_64
> qemu-kvm-1.5.3-20.el7.x86_64
> 
> How reproducible:
> 100%
> 
> Steps to Reproduce:
> 1.enable nested parameter on host
> # modprobe -r kvm_intel
> # modprobe kvm_intel nested=1
> # cat /sys/module/kvm_intel/parameters/nested 
> Y
> 
> 2. Boot rhel7.0 guest with -cpu host
> /usr/libexec/qemu-kvm -M pc -cpu host -enable-kvm -m 8196 -smp
> 4,sockets=2,cores=2,threads=1 -usb -device usb-tablet,id=input0 -name gpu
> -uuid 990ea161-6b67-47b2-b803-19fb01d30d30 -rtc
> base=localtime,clock=host,driftfix=slew -drive
> file=guest/rhel7.qcow2-1,if=none,id=drive-virtio-disk,format=qcow2,
> cache=none,aio=native,werror=stop,rerror=stop -device
> ide-drive,drive=drive-virtio-disk,id=virtio-disk,bootindex=1 -netdev
> tap,id=hostnet0,vhost=on,script=/etc/qemu-ifup -device
> rtl8139,netdev=hostnet0,id=virtio-net-pci0,mac=00:01:02:B6:40:21  -global
> PIIX4_PM.disable_s3=0 -global PIIX4_PM.disable_s4=0 -k en-us -boot menu=on
> -qmp tcp:0:4444,server,nowait -serial unix:/tmp/ttyS0,server,nowait -vnc :2
> -spice disable-ticketing,port=5932 -vga qxl -monitor stdio
> 
> 3.install qemu-kvm and enable nested inside level 1 guest.
> as step1
> 

Please provide output of

1. cat /proc/cpuinfo
2. vmxcap

On both L0 and L1 guests.

vmxcap: https://github.com/qemu/qemu/blob/master/scripts/kvm/vmxcap

Comment 9 Marcelo Tosatti 2014-02-23 19:39:54 UTC
(In reply to Kashyap Chamarthy from comment #7)
> (In reply to FuXiangChun from comment #6)
> > Re-tested this bug with qemu-kvm-rhev-1.5.3-30.el7.x86_64 and
> > 3.10.0-64.el7.x86_64. According to comment4. kvm QE convert test steps to
> > qemu-kvm command line.
> > 
> > Result:
> > a) Boot L2 guest with "-cpu host" on L1
> > Still can reproduce this bug as comments 0
> > 
> > b) Boot L2 guest with "-cpu Haswell" on L1 and -smp 1
> > L2 guest works but dmesg output some warning message as below
> > 
> > [  729.253018] Uhhuh. NMI received for unknown reason 30 on CPU 0.
> > [  729.253018] Do you have a strange power saving mode enabled?
> > [  729.253018] Dazed and confused, but trying to continue
> > 
> > c) Boot L2 guest with "-cpu Haswell" on L1 and -smp >1(multiple cpus)
> > L2 guest will restart automatically(continuous) and console print warning
> > message
> > 
> > [  729.253018] Uhhuh. NMI received for unknown reason 30 on CPU 0.
> > [  729.253018] Do you have a strange power saving mode enabled?
> > [  729.253018] Dazed and confused, but trying to continue
> > 
> > Detailed steps.
> > 
> > 1) check L0 host parameter values
> > # cat /sys/module/kvm_intel/parameters/nested
> > Y
> > # cat /sys/module/kvm_intel/parameters/enable_shadow_vmcs
> > Y
> > # cat /sys/module/kvm_intel/parameters/enable_apicv
> > N
> > # cat /sys/module/kvm_intel/parameters/ept
> > Y
> > 
> > 2)Boot RHEL7.0 guest with "-cpu host" and "-smp 4" on L0
> > /usr/libexec/qemu-kvm -M pc -cpu host -enable-kvm -m 4096 -smp
> > 4,sockets=2,cores=2,threads=1 -usb -device usb-tablet,id=input0 -name gpu
> > -uuid 990ea161-6b67-47b2-b803-19fb01d30d30 -rtc
> > base=localtime,clock=host,driftfix=slew -drive
> > file=/home/rhel7-new.qcow2,if=none,id=drive-virtio-disk,format=qcow2,
> > aio=native,werror=stop,rerror=stop,cache=none -device
> > ide-drive,drive=drive-virtio-disk,id=virtio-disk,bootindex=1 -netdev
> > tap,id=hostnet0,vhost=on,script=/etc/qemu-ifup -device
> > rtl8139,netdev=hostnet0,id=virtio-net-pci0,mac=00:01:02:B6:40:21  -global
> > PIIX4_PM.disable_s3=0 -global PIIX4_PM.disable_s4=0 -k en-us -boot menu=on
> > -qmp tcp:0:4444,server,nowait -serial unix:/tmp/ttyS0,server,nowait -vnc :2
> > -spice disable-ticketing,port=5932 -vga qxl -monitor stdio
> > 
> > 2. Boot RHEL7.0 guest with "-cpu host"/"-cpu Haswell" and "-smp 1"/"-smp >1"
> > on L1
> > 
> > /usr/libexec/qemu-kvm -M pc -cpu Haswell -enable-kvm -m 2048 -smp
> > 1,sockets=1,cores=1,threads=1 -usb -device usb-tablet,id=input0 -name gpu
> > -uuid 990ea161-6b67-47b2-b803-19fb01d30d30 -rtc
> > base=localtime,clock=host,driftfix=slew -drive
> > file=/home/fuxc/rhel7-new.qcow2,if=none,id=drive-virtio-disk,format=qcow2,
> > aio=native,werror=stop,rerror=stop -device
> > ide-drive,drive=drive-virtio-disk,id=virtio-disk,bootindex=1 -netdev
> > tap,id=hostnet0,vhost=on,script=/etc/qemu-ifup -device
> > rtl8139,netdev=hostnet0,id=virtio-net-pci0,mac=00:01:02:B6:40:26 -vnc :3
> > -monitor stdio -serial unix:/tmp/ttyS0,server,nowait
> > 
> > 3. check L2 guest status via console
> > 
> > Test result ummary:
> > 1.This bug can be still reproduced when booting L2 guest with "-cpu host"
> > 2.L2 guest works well when booting L2 guest with "-cpu haswell" and "-smp 1"
> > 3.L2 guest will restart automatically(continuous) when booting L2 guest with
> > "-cpu Haswell" and "-smp >1"
> > 
> > 
> > About result c, Is it a new bug?
> 
> Possibly.
> 
> I CC'ed Paolo to the bug, he may have some insights here.

Yes, it is. Please open a separate BZ, thanks.

Comment 10 FuXiangChun 2014-02-24 07:31:20 UTC
I filed a new bug 1069089 to trace result 3 in comment 9.

Comment 11 Marcelo Tosatti 2014-02-24 14:49:04 UTC
(In reply to Marcelo Tosatti from comment #8)
> (In reply to FuXiangChun from comment #0)
> > Description of problem:
> > For Intel host, level 2(level 0 is host os,level 1 is guest first on
> > host,level 2 is guest on guest) guest will hang. I added snapshot of level 2
> > guest to attachment. guest console don't output any message.
> > 
> > Version-Release number of selected component (if applicable):
> > host and guest kernel version:
> > # uname -r
> > 3.10.0-57.el7.x86_64
> > qemu-kvm-1.5.3-20.el7.x86_64
> > 
> > How reproducible:
> > 100%
> > 
> > Steps to Reproduce:
> > 1.enable nested parameter on host
> > # modprobe -r kvm_intel
> > # modprobe kvm_intel nested=1
> > # cat /sys/module/kvm_intel/parameters/nested 
> > Y
> > 
> > 2. Boot rhel7.0 guest with -cpu host
> > /usr/libexec/qemu-kvm -M pc -cpu host -enable-kvm -m 8196 -smp
> > 4,sockets=2,cores=2,threads=1 -usb -device usb-tablet,id=input0 -name gpu
> > -uuid 990ea161-6b67-47b2-b803-19fb01d30d30 -rtc
> > base=localtime,clock=host,driftfix=slew -drive
> > file=guest/rhel7.qcow2-1,if=none,id=drive-virtio-disk,format=qcow2,
> > cache=none,aio=native,werror=stop,rerror=stop -device
> > ide-drive,drive=drive-virtio-disk,id=virtio-disk,bootindex=1 -netdev
> > tap,id=hostnet0,vhost=on,script=/etc/qemu-ifup -device
> > rtl8139,netdev=hostnet0,id=virtio-net-pci0,mac=00:01:02:B6:40:21  -global
> > PIIX4_PM.disable_s3=0 -global PIIX4_PM.disable_s4=0 -k en-us -boot menu=on
> > -qmp tcp:0:4444,server,nowait -serial unix:/tmp/ttyS0,server,nowait -vnc :2
> > -spice disable-ticketing,port=5932 -vga qxl -monitor stdio
> > 
> > 3.install qemu-kvm and enable nested inside level 1 guest.
> > as step1
> > 
> 
> Please provide output of
> 
> 1. cat /proc/cpuinfo
> 2. vmxcap
> 
> On both L0 and L1 guests.
> 
> vmxcap: https://github.com/qemu/qemu/blob/master/scripts/kvm/vmxcap

"On both L0 host and L1 guest".

Comment 12 FuXiangChun 2014-02-25 01:45:18 UTC
L0
 
1. cat /proc/cpuinfo
# cat /proc/cpuinfo
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 60
model name	: Intel(R) Core(TM) i5-4670T CPU @ 2.30GHz
stepping	: 3
microcode	: 0x12
cpu MHz		: 2300.089
cache size	: 6144 KB
physical id	: 0
siblings	: 4
core id		: 0
cpu cores	: 4
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm
bogomips	: 4589.76
clflush size	: 64
cache_alignment	: 64
address sizes	: 39 bits physical, 48 bits virtual
power management:

processor	: 1
vendor_id	: GenuineIntel
cpu family	: 6
model		: 60
model name	: Intel(R) Core(TM) i5-4670T CPU @ 2.30GHz
stepping	: 3
microcode	: 0x12
cpu MHz		: 2300.089
cache size	: 6144 KB
physical id	: 0
siblings	: 4
core id		: 1
cpu cores	: 4
apicid		: 2
initial apicid	: 2
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm
bogomips	: 4589.76
clflush size	: 64
cache_alignment	: 64
address sizes	: 39 bits physical, 48 bits virtual
power management:

processor	: 2
vendor_id	: GenuineIntel
cpu family	: 6
model		: 60
model name	: Intel(R) Core(TM) i5-4670T CPU @ 2.30GHz
stepping	: 3
microcode	: 0x12
cpu MHz		: 2300.089
cache size	: 6144 KB
physical id	: 0
siblings	: 4
core id		: 2
cpu cores	: 4
apicid		: 4
initial apicid	: 4
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm
bogomips	: 4589.76
clflush size	: 64
cache_alignment	: 64
address sizes	: 39 bits physical, 48 bits virtual
power management:

processor	: 3
vendor_id	: GenuineIntel
cpu family	: 6
model		: 60
model name	: Intel(R) Core(TM) i5-4670T CPU @ 2.30GHz
stepping	: 3
microcode	: 0x12
cpu MHz		: 2300.000
cache size	: 6144 KB
physical id	: 0
siblings	: 4
core id		: 3
cpu cores	: 4
apicid		: 6
initial apicid	: 6
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm
bogomips	: 4589.76
clflush size	: 64
cache_alignment	: 64
address sizes	: 39 bits physical, 48 bits virtual
power management:

2.vmxcap output

# python vmxcap 
Basic VMX Information
 Revision                                 18
 VMCS size                                1024
 VMCS restricted to 32 bit addresses      no
 Dual-monitor support                     yes
 VMCS memory type                         6
 INS/OUTS instruction information         yes
 IA32_VMX_TRUE_*_CTLS support             yes
pin-based controls
 External interrupt exiting               yes
 NMI exiting                              yes
 Virtual NMIs                             yes
 Activate VMX-preemption timer            yes
 Process posted interrupts                no
primary processor-based controls
 Interrupt window exiting                 yes
 Use TSC offsetting                       yes
 HLT exiting                              yes
 INVLPG exiting                           yes
 MWAIT exiting                            yes
 RDPMC exiting                            yes
 RDTSC exiting                            yes
 CR3-load exiting                         default
 CR3-store exiting                        default
 CR8-load exiting                         yes
 CR8-store exiting                        yes
 Use TPR shadow                           yes
 NMI-window exiting                       yes
 MOV-DR exiting                           yes
 Unconditional I/O exiting                yes
 Use I/O bitmaps                          yes
 Monitor trap flag                        yes
 Use MSR bitmaps                          yes
 MONITOR exiting                          yes
 PAUSE exiting                            yes
 Activate secondary control               yes
secondary processor-based controls
 Virtualize APIC accesses                 yes
 Enable EPT                               yes
 Descriptor-table exiting                 yes
 Enable RDTSCP                            yes
 Virtualize x2APIC mode                   yes
 Enable VPID                              yes
 WBINVD exiting                           yes
 Unrestricted guest                       yes
 APIC register emulation                  no
 Virtual interrupt delivery               no
 PAUSE-loop exiting                       yes
 RDRAND exiting                           yes
 Enable INVPCID                           yes
 Enable VM functions                      yes
 VMCS shadowing                           yes
 EPT-violation #VE                        no
VM-Exit controls
 Save debug controls                      default
 Host address-space size                  yes
 Load IA32_PERF_GLOBAL_CTRL               yes
 Acknowledge interrupt on exit            yes
 Save IA32_PAT                            yes
 Load IA32_PAT                            yes
 Save IA32_EFER                           yes
 Load IA32_EFER                           yes
 Save VMX-preemption timer value          yes
VM-Entry controls
 Load debug controls                      default
 IA-64 mode guest                         yes
 Entry to SMM                             yes
 Deactivate dual-monitor treatment        yes
 Load IA32_PERF_GLOBAL_CTRL               yes
 Load IA32_PAT                            yes
 Load IA32_EFER                           yes
Miscellaneous data
 VMX-preemption timer scale (log2)        5
 Store EFER.LMA into IA-32e mode guest control yes
 HLT activity state                       yes
 Shutdown activity state                  yes
 Wait-for-SIPI activity state             yes
 IA32_SMBASE support                      yes
 Number of CR3-target values              4
 MSR-load/store count recommenation       0
 IA32_SMM_MONITOR_CTL[2] can be set to 1  yes
 VMWRITE to VM-exit information fields    yes
 MSEG revision identifier                 0
VPID and EPT capabilities
 Execute-only EPT translations            yes
 Page-walk length 4                       yes
 Paging-structure memory type UC          yes
 Paging-structure memory type WB          yes
 2MB EPT pages                            yes
 1GB EPT pages                            yes
 INVEPT supported                         yes
 EPT accessed and dirty flags             yes
 Single-context INVEPT                    yes
 All-context INVEPT                       yes
 INVVPID supported                        yes
 Individual-address INVVPID               yes
 Single-context INVVPID                   yes
 All-context INVVPID                      yes
 Single-context-retaining-globals INVVPID yes
VM Functions
 EPTP Switching                           yes


L1 guest.

1.cat /proc/cpuinfo
# cat /proc/cpuinfo
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 60
model name	: Intel(R) Core(TM) i5-4670T CPU @ 2.30GHz
stepping	: 3
microcode	: 0x1
cpu MHz		: 2294.686
cache size	: 4096 KB
physical id	: 0
siblings	: 2
core id		: 0
cpu cores	: 2
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm xsaveopt fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm
bogomips	: 4589.37
clflush size	: 64
cache_alignment	: 64
address sizes	: 39 bits physical, 48 bits virtual
power management:

processor	: 1
vendor_id	: GenuineIntel
cpu family	: 6
model		: 60
model name	: Intel(R) Core(TM) i5-4670T CPU @ 2.30GHz
stepping	: 3
microcode	: 0x1
cpu MHz		: 2294.686
cache size	: 4096 KB
physical id	: 0
siblings	: 2
core id		: 1
cpu cores	: 2
apicid		: 1
initial apicid	: 1
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm xsaveopt fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm
bogomips	: 4589.37
clflush size	: 64
cache_alignment	: 64
address sizes	: 39 bits physical, 48 bits virtual
power management:

processor	: 2
vendor_id	: GenuineIntel
cpu family	: 6
model		: 60
model name	: Intel(R) Core(TM) i5-4670T CPU @ 2.30GHz
stepping	: 3
microcode	: 0x1
cpu MHz		: 2294.686
cache size	: 4096 KB
physical id	: 1
siblings	: 2
core id		: 0
cpu cores	: 2
apicid		: 2
initial apicid	: 2
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm xsaveopt fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm
bogomips	: 4589.37
clflush size	: 64
cache_alignment	: 64
address sizes	: 39 bits physical, 48 bits virtual
power management:

processor	: 3
vendor_id	: GenuineIntel
cpu family	: 6
model		: 60
model name	: Intel(R) Core(TM) i5-4670T CPU @ 2.30GHz
stepping	: 3
microcode	: 0x1
cpu MHz		: 2294.686
cache size	: 4096 KB
physical id	: 1
siblings	: 2
core id		: 1
cpu cores	: 2
apicid		: 3
initial apicid	: 3
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm xsaveopt fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm
bogomips	: 4589.37
clflush size	: 64
cache_alignment	: 64
address sizes	: 39 bits physical, 48 bits virtual
power management:

2.vmxcap output

# python vmxcap 
Basic VMX Information
 Revision                                 300252880
 VMCS size                                4096
 VMCS restricted to 32 bit addresses      no
 Dual-monitor support                     no
 VMCS memory type                         6
 INS/OUTS instruction information         no
 IA32_VMX_TRUE_*_CTLS support             no
pin-based controls
 External interrupt exiting               yes
 NMI exiting                              yes
 Virtual NMIs                             yes
 Activate VMX-preemption timer            yes
 Process posted interrupts                no
primary processor-based controls
 Interrupt window exiting                 yes
 Use TSC offsetting                       yes
 HLT exiting                              yes
 INVLPG exiting                           yes
 MWAIT exiting                            yes
 RDPMC exiting                            yes
 RDTSC exiting                            yes
 CR3-load exiting                         yes
 CR3-store exiting                        yes
 CR8-load exiting                         yes
 CR8-store exiting                        yes
 Use TPR shadow                           no
 NMI-window exiting                       no
 MOV-DR exiting                           yes
 Unconditional I/O exiting                yes
 Use I/O bitmaps                          yes
 Monitor trap flag                        no
 Use MSR bitmaps                          yes
 MONITOR exiting                          yes
 PAUSE exiting                            yes
 Activate secondary control               yes
secondary processor-based controls
 Virtualize APIC accesses                 yes
 Enable EPT                               no
 Descriptor-table exiting                 no
 Enable RDTSCP                            no
 Virtualize x2APIC mode                   no
 Enable VPID                              no
 WBINVD exiting                           yes
 Unrestricted guest                       no
 APIC register emulation                  no
 Virtual interrupt delivery               no
 PAUSE-loop exiting                       no
 RDRAND exiting                           no
 Enable INVPCID                           no
 Enable VM functions                      no
 VMCS shadowing                           no
 EPT-violation #VE                        no
VM-Exit controls
 Save debug controls                      forced
 Host address-space size                  yes
 Load IA32_PERF_GLOBAL_CTRL               no
 Acknowledge interrupt on exit            no
 Save IA32_PAT                            no
 Load IA32_PAT                            no
 Save IA32_EFER                           no
 Load IA32_EFER                           no
 Save VMX-preemption timer value          no
VM-Entry controls
 Load debug controls                      forced
 IA-64 mode guest                         yes
 Entry to SMM                             no
 Deactivate dual-monitor treatment        no
 Load IA32_PERF_GLOBAL_CTRL               no
 Load IA32_PAT                            yes
 Load IA32_EFER                           no
Miscellaneous data
 VMX-preemption timer scale (log2)        5
 Store EFER.LMA into IA-32e mode guest control yes
 HLT activity state                       no
 Shutdown activity state                  no
 Wait-for-SIPI activity state             no
 IA32_SMBASE support                      no
 Number of CR3-target values              0
 MSR-load/store count recommenation       0
 IA32_SMM_MONITOR_CTL[2] can be set to 1  no
 VMWRITE to VM-exit information fields    no
 MSEG revision identifier                 0
VPID and EPT capabilities
 Execute-only EPT translations            no
 Page-walk length 4                       no
 Paging-structure memory type UC          no
 Paging-structure memory type WB          no
 2MB EPT pages                            no
 1GB EPT pages                            no
 INVEPT supported                         no
 EPT accessed and dirty flags             no
 Single-context INVEPT                    no
 All-context INVEPT                       no
 INVVPID supported                        no
 Individual-address INVVPID               no
 Single-context INVVPID                   no
 All-context INVVPID                      no
 Single-context-retaining-globals INVVPID no
VM Functions
 EPTP Switching                           no

Comment 23 FuXiangChun 2014-09-23 02:43:09 UTC
QE is reserving host.  will update test result when testing is complete.

Comment 25 Marcelo Tosatti 2014-09-24 17:47:13 UTC

*** This bug has been marked as a duplicate of bug 1083969 ***


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