Re: [Qemu-devel] [PATCH] e1000: work around win 8.0 boot hang

2015-03-31 Thread Jason Wang
On Tue, Mar 31, 2015 at 6:17 PM, Radim Krčmář wrote: 2015-03-31 13:26+0800, Jason Wang: On 02/20/2015 03:24 AM, Radim Krčmář wrote: > Window 8.0 driver has a particular behavior for a small time frame after > it enables rx interrupts: the interrupt handler never clears > E1000_ICR_RXT

Re: [Qemu-devel] [PATCH] e1000: work around win 8.0 boot hang

2015-03-31 Thread Radim Krčmář
2015-03-31 13:26+0800, Jason Wang: > On 02/20/2015 03:24 AM, Radim Krčmář wrote: > > Window 8.0 driver has a particular behavior for a small time frame after > > it enables rx interrupts: the interrupt handler never clears > > E1000_ICR_RXT0. The handler does this something like this: > > set_i

Re: [Qemu-devel] [PATCH] e1000: work around win 8.0 boot hang

2015-03-30 Thread Jason Wang
On 02/20/2015 03:24 AM, Radim Krčmář wrote: > Window 8.0 driver has a particular behavior for a small time frame after > it enables rx interrupts: the interrupt handler never clears > E1000_ICR_RXT0. The handler does this something like this: > set_imc(-1) (1) disable all interr

Re: [Qemu-devel] [PATCH] e1000: work around win 8.0 boot hang

2015-03-20 Thread Wei Huang
On 02/24/2015 05:46 AM, Stefan Hajnoczi wrote: > On Tue, Feb 24, 2015 at 11:35 AM, Stefan Hajnoczi wrote: >> On Thu, Feb 19, 2015 at 08:24:19PM +0100, Radim Krčmář wrote: >>> Window 8.0 driver has a particular behavior for a small time frame after >>> it enables rx interrupts: the interrupt han

Re: [Qemu-devel] [PATCH] e1000: work around win 8.0 boot hang

2015-02-24 Thread Stefan Hajnoczi
On Tue, Feb 24, 2015 at 11:35 AM, Stefan Hajnoczi wrote: > On Thu, Feb 19, 2015 at 08:24:19PM +0100, Radim Krčmář wrote: >> Window 8.0 driver has a particular behavior for a small time frame after >> it enables rx interrupts: the interrupt handler never clears >> E1000_ICR_RXT0. The handler does

Re: [Qemu-devel] [PATCH] e1000: work around win 8.0 boot hang

2015-02-24 Thread Stefan Hajnoczi
On Thu, Feb 19, 2015 at 08:24:19PM +0100, Radim Krčmář wrote: > Window 8.0 driver has a particular behavior for a small time frame after > it enables rx interrupts: the interrupt handler never clears > E1000_ICR_RXT0. The handler does this something like this: > set_imc(-1) (1) di

Re: [Qemu-devel] [PATCH] e1000: work around win 8.0 boot hang

2015-02-23 Thread Wei Huang
On 02/23/2015 10:07 AM, Radim Krčmář wrote: > 2015-02-23 14:39+, Stefan Hajnoczi: >> Since the typo breaks compilation, it shows that the patch was not >> tested. That makes me nervous. > > (It was based on a tested RHEL7 patch. Upstream allowed for better > code, so I didn't want to push

Re: [Qemu-devel] [PATCH] e1000: work around win 8.0 boot hang

2015-02-23 Thread Radim Krčmář
2015-02-23 14:39+, Stefan Hajnoczi: > Since the typo breaks compilation, it shows that the patch was not > tested. That makes me nervous. (It was based on a tested RHEL7 patch. Upstream allowed for better code, so I didn't want to push the ugly, yet working, version.) Honestly, I was hopin

Re: [Qemu-devel] [PATCH] e1000: work around win 8.0 boot hang

2015-02-23 Thread Stefan Hajnoczi
On Mon, Feb 23, 2015 at 1:45 PM, Radim Krčmář wrote: > 2015-02-23 10:45+, Stefan Hajnoczi: >> On Thu, Feb 19, 2015 at 09:37:46PM +0100, Radim Krčmář wrote: >> > 2015-02-19 20:24+0100, Radim Krčmář: >> > > diff --git a/hw/net/e1000.c b/hw/net/e1000.c >> > > @@ -138,6 +138,10 @@ typedef struct E

Re: [Qemu-devel] [PATCH] e1000: work around win 8.0 boot hang

2015-02-23 Thread Radim Krčmář
2015-02-23 10:45+, Stefan Hajnoczi: > On Thu, Feb 19, 2015 at 09:37:46PM +0100, Radim Krčmář wrote: > > 2015-02-19 20:24+0100, Radim Krčmář: > > > diff --git a/hw/net/e1000.c b/hw/net/e1000.c > > > @@ -138,6 +138,10 @@ typedef struct E1000State_st { > > > +#define E1000_WIN8_WORKAROUND_ICR

Re: [Qemu-devel] [PATCH] e1000: work around win 8.0 boot hang

2015-02-23 Thread Stefan Hajnoczi
On Thu, Feb 19, 2015 at 09:37:46PM +0100, Radim Krčmář wrote: > 2015-02-19 20:24+0100, Radim Krčmář: > > diff --git a/hw/net/e1000.c b/hw/net/e1000.c > > @@ -138,6 +138,10 @@ typedef struct E1000State_st { > > +#define E1000_WIN8_WORKAROUND_ICR E1000_ICR_RXT0 > > +#define E1000_WIN8_WORKAROUN

Re: [Qemu-devel] [PATCH] e1000: work around win 8.0 boot hang

2015-02-19 Thread Radim Krčmář
2015-02-19 20:24+0100, Radim Krčmář: > diff --git a/hw/net/e1000.c b/hw/net/e1000.c > @@ -138,6 +138,10 @@ typedef struct E1000State_st { > +#define E1000_WIN8_WORKAROUND_ICR E1000_ICR_RXT0 > +#define E1000_WIN8_WORKAROUND_DELAY_US 10 > +bool win8_workaround_needed; > @@ -288,7 +292,7 @@

[Qemu-devel] [PATCH] e1000: work around win 8.0 boot hang

2015-02-19 Thread Radim Krčmář
Window 8.0 driver has a particular behavior for a small time frame after it enables rx interrupts: the interrupt handler never clears E1000_ICR_RXT0. The handler does this something like this: set_imc(-1) (1) disable all interrupts val = read_icr() (2) clear ICR handl