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_imc(-1)

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ář rkrc...@redhat.com 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

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

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 stefa...@gmail.com 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

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 stefa...@gmail.com 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

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)

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

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 Mon, Feb 23, 2015 at 1:45 PM, Radim Krčmář rkrc...@redhat.com 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

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 hoping

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 the

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