Bug 595647

Summary: Windows guest with qxl driver can't get into S3 state
Product: Red Hat Enterprise Linux 6 Reporter: Xiaoli Tian <xtian>
Component: qemu-kvmAssignee: Yvugenfi <yvugenfi>
Status: CLOSED CURRENTRELEASE QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: high    
Version: 6.0CC: amit.shah, gleb, jiabwang, llim, qzhang, szhou, virt-maint
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: qemu-kvm-0.12.1.2-2.81.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-07-02 13:05:03 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
screenshot of system halting
none
bios image
none
The screenshot of power data 1
none
The screenshot of power data 2
none
powerdata_win7x86_qxl none

Description Xiaoli Tian 2010-05-25 09:44:21 UTC
Created attachment 416336 [details]
screenshot of system halting

Description of problem:
Windows guest with qxl driver can't get into S3 state,windows guest system is halted with the screenshot attached.

Version-Release number of selected component (if applicable):
qemu-kvm :0.12.1.2-2.51.el6.x86_64,
spice driver:5/12/2010,4.5.45909,
kernel:2.6.32-24.el6.x86_64.

How reproducible:
100%.

Steps to Reproduce:(take win7 for example)
1.Start windows 7 guest with the following command:
/usr/libexec/qemu-kvm -no-hpet -usbdevice tablet -rtc-td-hack -cpu qemu64,+sse2 -name nic1-Win7X86 -m 2G -smp 2 -net nic,vlan=1,macaddr=00:62:69:8b:36:f1,model=e1000 -net tap,vlan=1,script=/etc/qemu-ifup -net nic,vlan=2,macaddr=00:2b:f1:66:72:53,model=virtio -net tap,vlan=2,script=/etc/qemu-ifup-private -net nic,vlan=3,macaddr=00:5b:3b:98:63:63,model=virtio -net tap,vlan=3,script=/etc/qemu-ifup-private -drive file=/home/WHQL/NIC7X86/Win7X86-NIC1.qcow2,if=ide -uuid 70e88d57-1e9b-4bee-a8e2-3d2af641cdb9 -vga qxl -spice port=5931,disable-ticketing -monitor stdio,
2.Click start->shutdown,select sleep.
  
Actual results:
Can't get into s3 sleep state

Expected results:
Can get into s3 normally

Additional info
The system halted screenshot is attached,
Spice driver is getted from this location:
\\bob.eng.lab.tlv.redhat.com\system\builds\sm66\isTools\Spice.compiled_not
_packed.

Comment 2 Shirley Zhou 2010-05-27 09:46:25 UTC
We can not continue whql testing on win7 and winxp if this bug not fixed.
please contact me if you need any info.

Comment 3 Xiaoli Tian 2010-06-03 05:12:17 UTC
  I have tried to make Win7  get into s3 state using qxl driver 05/31/2010,4.5.46137,it still doesn't work .
  The driver is got from this location:http://download.lab.bos.redhat.com/devel/RHEV/signed/whql/qxl/1408061/

Comment 4 Yvugenfi@redhat.com 2010-06-15 08:18:59 UTC
Can you supply CPU info for the host that is used to run test VMs?

Thanks.

(In reply to comment #2)
> We can not continue whql testing on win7 and winxp if this bug not fixed.
> please contact me if you need any info.

Comment 5 Xiaoli Tian 2010-06-17 05:28:57 UTC
(In reply to comment #4)
> Can you supply CPU info for the host that is used to run test VMs?
> 
> Thanks.
> 
> (In reply to comment #2)
> > We can not continue whql testing on win7 and winxp if this bug not fixed.
> > please contact me if you need any info.    

Hi,part of the CPU info of the host is as follows:

processor       : 15
vendor_id       : GenuineIntel
cpu family      : 6
model           : 26
model name      : Intel(R) Xeon(R) CPU           E5520  @ 2.27GHz
stepping        : 5
cpu MHz         : 2261.123
cache size      : 8192 KB
physical id     : 0
siblings        : 8
core id         : 3
cpu cores       : 4
apicid          : 7
initial apicid  : 7
fpu             : yes
fpu_exception   : yes
cpuid level     : 11
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 sse4_2 popcnt lahf_lm ida tpr_shadow vnmi flexpriority ept vpid
bogomips        : 4521.30
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

Thanks.

Comment 6 Gleb Natapov 2010-06-17 08:12:17 UTC
Created attachment 424715 [details]
bios image

Please retry with attached bios.bin

Comment 7 Shirley Zhou 2010-06-17 09:22:40 UTC
(In reply to comment #6)
> Created an attachment (id=424715) [details]
> bios image
> 
> Please retry with attached bios.bin    

Hi, Gleb

I tried to test s3 state with bios you provided, the bug still exists,windows guest become halt.

CLI:
/usr/libexec/qemu-kvm -m 2G -smp 2 -name Win7-x86 -uuid abe8625e-b802-4ed0-8b94-ec3c2ebbcbff -rtc base=utc -rtc-td-hack -no-kvm-pit-reinjection -cpu qemu64,+sse2 -boot c -drive file=/home/win7-32.qcow2,if=none,id=drive-ide0 -device ide-drive,drive=drive-ide0 -netdev tap,id=hostnet0,script=/etc/qemu-ifup -device rtl8139,netdev=hostnet0,id=net0,mac=52:75:03:38:67:69,bus=pci.0 -netdev tap,id=hostnet1,vhost=on,script=/etc/qemu-ifup-private -device virtio-net-pci,netdev=hostnet1,id=net1,mac=92:54:00:88:f7:89,bus=pci.0 -netdev tap,id=hostnet2,vhost=on,script=/etc/qemu-ifup-private -device virtio-net-pci,netdev=hostnet2,id=net2,mac=52:98:71:42:f8:99,bus=pci.0 -balloon none -vga qxl -spice port=5934,disable-ticketing -monitor stdio -k en-us -bios /home/bios.bin

Comment 8 Gleb Natapov 2010-06-17 09:31:14 UTC
What is the output of "into pci" in monitor?

Comment 9 Shirley Zhou 2010-06-17 09:33:24 UTC
(qemu) info pci
  Bus  0, device   0, function 0:
    Host bridge: PCI device 8086:1237
      id ""
  Bus  0, device   1, function 0:
    ISA bridge: PCI device 8086:7000
      id ""
  Bus  0, device   1, function 1:
    IDE controller: PCI device 8086:7010
      BAR4: I/O at 0xffffffffffffffff [0x000e].
      id ""
  Bus  0, device   1, function 3:
    Bridge: PCI device 8086:7113
      IRQ 0.
      id ""
  Bus  0, device   2, function 0:
    VGA controller: PCI device 1b36:0100
      IRQ 0.
      BAR0: 32 bit memory at 0xffffffffffffffff [0x03fffffe].
      BAR1: 32 bit memory at 0xffffffffffffffff [0x00000ffe].
      BAR2: 32 bit memory at 0xffffffffffffffff [0x00001ffe].
      BAR3: I/O at 0xffffffffffffffff [0x0006].
      BAR6: 32 bit memory at 0xffffffffffffffff [0x0000fffe].
      id ""
  Bus  0, device   3, function 0:
    Ethernet controller: PCI device 10ec:8139
      IRQ 0.
      BAR0: I/O at 0xffffffffffffffff [0x00fe].
      BAR1: 32 bit memory at 0xffffffffffffffff [0x000000fe].
      BAR6: 32 bit memory at 0xffffffffffffffff [0x0000fffe].
      id "net0"
  Bus  0, device   4, function 0:
    Ethernet controller: PCI device 1af4:1000
      IRQ 0.
      BAR0: I/O at 0xffffffffffffffff [0x001e].
      BAR1: 32 bit memory at 0xffffffffffffffff [0x00000ffe].
      BAR6: 32 bit memory at 0xffffffffffffffff [0x0000fffe].
      id "net1"
  Bus  0, device   5, function 0:
    Ethernet controller: PCI device 1af4:1000
      IRQ 0.
      BAR0: I/O at 0xffffffffffffffff [0x001e].
      BAR1: 32 bit memory at 0xffffffffffffffff [0x00000ffe].
      BAR6: 32 bit memory at 0xffffffffffffffff [0x0000fffe].
      id "net2"

Comment 10 Gleb Natapov 2010-06-17 09:34:53 UTC
And what do you mean by "windows guest become halt"?

Comment 11 Gleb Natapov 2010-06-17 09:39:31 UTC
Is this the output after S3? 

(In reply to comment #9)
> (qemu) info pci
>   Bus  0, device   0, function 0:
>     Host bridge: PCI device 8086:1237
>       id ""
>   Bus  0, device   1, function 0:
>     ISA bridge: PCI device 8086:7000
>       id ""
>   Bus  0, device   1, function 1:
>     IDE controller: PCI device 8086:7010
>       BAR4: I/O at 0xffffffffffffffff [0x000e].
>       id ""
>   Bus  0, device   1, function 3:
>     Bridge: PCI device 8086:7113
>       IRQ 0.
>       id ""
>   Bus  0, device   2, function 0:
>     VGA controller: PCI device 1b36:0100
>       IRQ 0.
>       BAR0: 32 bit memory at 0xffffffffffffffff [0x03fffffe].
>       BAR1: 32 bit memory at 0xffffffffffffffff [0x00000ffe].
>       BAR2: 32 bit memory at 0xffffffffffffffff [0x00001ffe].
>       BAR3: I/O at 0xffffffffffffffff [0x0006].
>       BAR6: 32 bit memory at 0xffffffffffffffff [0x0000fffe].
>       id ""
>   Bus  0, device   3, function 0:
>     Ethernet controller: PCI device 10ec:8139
>       IRQ 0.
>       BAR0: I/O at 0xffffffffffffffff [0x00fe].
>       BAR1: 32 bit memory at 0xffffffffffffffff [0x000000fe].
>       BAR6: 32 bit memory at 0xffffffffffffffff [0x0000fffe].
>       id "net0"
>   Bus  0, device   4, function 0:
>     Ethernet controller: PCI device 1af4:1000
>       IRQ 0.
>       BAR0: I/O at 0xffffffffffffffff [0x001e].
>       BAR1: 32 bit memory at 0xffffffffffffffff [0x00000ffe].
>       BAR6: 32 bit memory at 0xffffffffffffffff [0x0000fffe].
>       id "net1"
>   Bus  0, device   5, function 0:
>     Ethernet controller: PCI device 1af4:1000
>       IRQ 0.
>       BAR0: I/O at 0xffffffffffffffff [0x001e].
>       BAR1: 32 bit memory at 0xffffffffffffffff [0x00000ffe].
>       BAR6: 32 bit memory at 0xffffffffffffffff [0x0000fffe].
>       id "net2"

Comment 12 Shirley Zhou 2010-06-17 09:43:54 UTC
After click Sleep button, windows guest will become as attached screen shot https://bugzilla.redhat.com/attachment.cgi?id=416336, and will not come back from sleep.

The pci info is captured when windows guest is halting as screen shot above.

Comment 13 Gleb Natapov 2010-06-17 09:58:00 UTC
Can you try 64 bit version of windows7?

Comment 14 Gleb Natapov 2010-06-17 10:03:31 UTC
Also can you do following inside the guest:

Go to device manager.
Click on "Red Hat QXL GPU"
Go to details tab
Select "Power data" property.

Send me screenshot.

Comment 15 Xiaoli Tian 2010-06-18 01:22:36 UTC
Created attachment 424984 [details]
The screenshot of power data 1

Comment 16 Xiaoli Tian 2010-06-18 01:23:11 UTC
Created attachment 424985 [details]
The screenshot of power data 2

Comment 17 Xiaoli Tian 2010-06-18 01:44:57 UTC
(In reply to comment #13)
> Can you try 64 bit version of windows7?    

Win7_x64 will come awake after clicking sleep button.
It's running on the same host using the same qemu command.

The info of pci is as follows:
(qemu) info pci
  Bus  0, device   0, function 0:
    Host bridge: PCI device 8086:1237
      id ""
  Bus  0, device   1, function 0:
    ISA bridge: PCI device 8086:7000
      id ""
  Bus  0, device   1, function 1:
    IDE controller: PCI device 8086:7010
      BAR4: I/O at 0xc000 [0xc00f].
      id ""
  Bus  0, device   1, function 3:
    Bridge: PCI device 8086:7113
      IRQ 0.
      id ""
  Bus  0, device   2, function 0:
    VGA controller: PCI device 1b36:0100
      IRQ 11.
      BAR0: 32 bit memory at 0xf0000000 [0xf3ffffff].
      BAR1: 32 bit memory at 0xf4000000 [0xf4000fff].
      BAR2: 32 bit memory at 0xf4002000 [0xf4003fff].
      BAR3: I/O at 0xc010 [0xc017].
      BAR6: 32 bit memory at 0xffffffffffffffff [0x0000fffe].
      id ""
  Bus  0, device   3, function 0:
    Ethernet controller: PCI device 10ec:8139
      IRQ 10.
      BAR0: I/O at 0xc100 [0xc1ff].
      BAR1: 32 bit memory at 0xf4020000 [0xf40200ff].
      BAR6: 32 bit memory at 0xffffffffffffffff [0x0000fffe].
      id "net0"
  Bus  0, device   4, function 0:
    Ethernet controller: PCI device 1af4:1000
      IRQ 0.
      BAR0: I/O at 0xc200 [0xc21f].
      BAR1: 32 bit memory at 0xf4040000 [0xf4040fff].
      BAR6: 32 bit memory at 0xffffffffffffffff [0x0000fffe].
      id "net1"
  Bus  0, device   5, function 0:
    Ethernet controller: PCI device 1af4:1000
      IRQ 0.
      BAR0: I/O at 0xc220 [0xc23f].
      BAR1: 32 bit memory at 0xf4060000 [0xf4060fff].
      BAR6: 32 bit memory at 0xffffffffffffffff [0x0000fffe].
      id "net2"

Comment 18 Gleb Natapov 2010-06-18 07:01:20 UTC
(In reply to comment #16)
> Created an attachment (id=424985) [details]
> The screenshot of power data 2    

Is this with 32 bit windows7?

Comment 19 Xiaoli Tian 2010-06-18 07:04:37 UTC
Yeah,that's it.

Comment 23 Gleb Natapov 2010-06-29 08:20:42 UTC
Can you retest please with  qemu-kvm-0.12.1.2-2.81.el6.

Comment 24 Shirley Zhou 2010-06-30 09:45:15 UTC
(In reply to comment #23)
> Can you retest please with  qemu-kvm-0.12.1.2-2.81.el6    

Hi, Gleb

Verify this issue for win7 x86 and win7 x64 on qemu-kvm-0.12.1.2-2.82.el6(kernel-2.6.32-37.el6.x86_64).

This bug still exist.
(qemu) info pci
  Bus  0, device   0, function 0:
    Host bridge: PCI device 8086:1237
      id ""
  Bus  0, device   1, function 0:
    ISA bridge: PCI device 8086:7000
      id ""
  Bus  0, device   1, function 1:
    IDE controller: PCI device 8086:7010
      BAR4: I/O at 0xc000 [0xc00f].
      id ""
  Bus  0, device   1, function 2:
    USB controller: PCI device 8086:7020
      IRQ 11.
      BAR4: I/O at 0xc020 [0xc03f].
      id ""
  Bus  0, device   1, function 3:
    Bridge: PCI device 8086:7113
      IRQ 9.
      id ""
  Bus  0, device   2, function 0:
    VGA controller: PCI device 1b36:0100
      IRQ 10.
      BAR0: 32 bit memory at 0xf0000000 [0xf3ffffff].
      BAR1: 32 bit memory at 0xf4000000 [0xf4000fff].
      BAR2: 32 bit memory at 0xf4002000 [0xf4003fff].
      BAR3: I/O at 0xc040 [0xc047].
      BAR6: 32 bit memory at 0xffffffffffffffff [0x0000fffe].
      id ""
  Bus  0, device   3, function 0:
    Ethernet controller: PCI device 1af4:1000
      IRQ 11.
      BAR0: I/O at 0xc060 [0xc07f].
      BAR1: 32 bit memory at 0xf4020000 [0xf4020fff].
      BAR6: 32 bit memory at 0xffffffffffffffff [0x0000fffe]

Comment 25 Shirley Zhou 2010-06-30 09:46:07 UTC
Created attachment 427929 [details]
powerdata_win7x86_qxl

Comment 26 Gleb Natapov 2010-06-30 09:53:04 UTC
according to screenshot your bios image is incorrect. Please install seabios-0.5.1-0.15.20100108git669c991.el6 and retest. To check that bios is correct screenshot should contain "S3->D3" instead of "S3->D0".

Comment 27 Shirley Zhou 2010-06-30 10:09:02 UTC
(In reply to comment #26)
> according to screenshot your bios image is incorrect. Please install
> seabios-0.5.1-0.15.20100108git669c991.el6 and retest. To check that bios is
> correct screenshot should contain "S3->D3" instead of "S3->D0".    

Hi,Gleb
wiin7 x86 and win7 x64 can do sleep after install seabios-0.5.1-0.15.20100108git669c991.el6.
Thanks.

Comment 29 Shirley Zhou 2010-07-02 13:05:03 UTC
Close this bug according to Comment 27.