[Qemu-devel] Windows 7 guest hangs after waking up from S3

2011-06-27 Thread yhalperi

Hi,

I'm using qemu with qxl (with S3/4 support. patches sent by Alon Levy). 
While with Windows xp guest I had no problems, Windows 7 (32 bits) hangs 
after S3 (it looks alive for a second, and then it gets stack).It 
happens only when using -net tap; with -net user, I didn't encounter 
a problem.


Cheers,
Yonit.



Re: [Qemu-devel] Windows 7 guest hangs after waking up from S3

2011-06-27 Thread Stefan Hajnoczi
On Mon, Jun 27, 2011 at 8:04 AM, yhalperi yhalp...@redhat.com wrote:
 I'm using qemu with qxl (with S3/4 support. patches sent by Alon Levy).
 While with Windows xp guest I had no problems, Windows 7 (32 bits) hangs
 after S3 (it looks alive for a second, and then it gets stack).It happens
 only when using -net tap; with -net user, I didn't encounter a problem.

Please post your QEMU command-line.

For sanity also please try without the QXL patches.  That way we know
whether this issue is related to QXL or not.

Stefan



Re: [Qemu-devel] Windows 7 guest hangs after waking up from S3

2011-06-27 Thread yhalperi

On 06/27/2011 11:12 AM, Stefan Hajnoczi wrote:

On Mon, Jun 27, 2011 at 8:04 AM, yhalperiyhalp...@redhat.com  wrote:

I'm using qemu with qxl (with S3/4 support. patches sent by Alon Levy).
While with Windows xp guest I had no problems, Windows 7 (32 bits) hangs
after S3 (it looks alive for a second, and then it gets stack).It happens
only when using -net tap; with -net user, I didn't encounter a problem.


Please post your QEMU command-line.

For sanity also please try without the QXL patches.  That way we know
whether this issue is related to QXL or not.

Stefan


How can I test S3 without qxl? I tried using cirrus and the Sleep option 
was disabled on windows 7.
I also tried the older qxl (without the patches that support s3), and 
disabled off-screen surfaces (in order to allow s3 to work), and the 
same problem occured.


my command line:
qemu-system-x86_64  -L pc-bios/ -m 1024 -hda img -boot c  -vga qxl 
-spice port=5678,disable-ticketing,streaming-video=all -net 
nic,macaddr=00:1a:4a:01:00:e0,model=rtl8139 -net 
tap,ifname=WIN7,script=/local/scripts/lan-ifup -nographic -global 
qxl-vga.debug=1  --enable-kvm -snapshot



/local/scripts/lan-ifup
-
#!/bin/sh
switch=sw0
ifconfig $1 0.0.0.0 up
brctl addif ${switch} $1



Re: [Qemu-devel] Windows 7 guest hangs after waking up from S3

2011-06-27 Thread Gleb Natapov
On Mon, Jun 27, 2011 at 01:12:18PM +0300, yhalperi wrote:
 On 06/27/2011 11:12 AM, Stefan Hajnoczi wrote:
 On Mon, Jun 27, 2011 at 8:04 AM, yhalperiyhalp...@redhat.com  wrote:
 I'm using qemu with qxl (with S3/4 support. patches sent by Alon Levy).
 While with Windows xp guest I had no problems, Windows 7 (32 bits) hangs
 after S3 (it looks alive for a second, and then it gets stack).It happens
 only when using -net tap; with -net user, I didn't encounter a problem.
 
 Please post your QEMU command-line.
 
 For sanity also please try without the QXL patches.  That way we know
 whether this issue is related to QXL or not.
 
 Stefan
 
 How can I test S3 without qxl? I tried using cirrus and the Sleep
 option was disabled on windows 7.
 I also tried the older qxl (without the patches that support s3),
 and disabled off-screen surfaces (in order to allow s3 to work), and
 the same problem occured.
 
-net tap vs -net user rings the bell for me. There is a known (for
me) problem with Windows S3 resume + networking. It appears that Windows
enables NIC receive interrupt before it registers NIC's interrupt handler
(only on S3 resume! On regular boot the order is different). If interrupt
arrives before NIC's interrupt handler is registered Windows hangs because
interrupt condition is never cleared in the NIC. On real hardware this
is not happening because relatively long time passes between enabling
link and receiving a first packet. With -net user guest never receives
unsolicited packet, with -net tap there are always enough broadcasts
to trigger the problem. 

 my command line:
 qemu-system-x86_64  -L pc-bios/ -m 1024 -hda img -boot c  -vga qxl
 -spice port=5678,disable-ticketing,streaming-video=all -net
 nic,macaddr=00:1a:4a:01:00:e0,model=rtl8139 -net
 tap,ifname=WIN7,script=/local/scripts/lan-ifup -nographic -global
 qxl-vga.debug=1  --enable-kvm -snapshot
 
 
 /local/scripts/lan-ifup
 -
 #!/bin/sh
 switch=sw0
 ifconfig $1 0.0.0.0 up
 brctl addif ${switch} $1

--
Gleb.