Stefan Hajnoczi writes:
> On Wed, Dec 10, 2014 at 11:23:45PM -0600, Richard Tollerton wrote:
>> The 8254x driver in certain versions of Phar Lap ETS hasn't been
>> initializing the e1000 device properly in qemu. It looks like the driver
>> is relying on two specifi
Jason Wang writes:
> On Tue, Jan 13, 2015 at 3:12 AM, Richard Tollerton
> wrote:
>> On Thu, Dec 18, 2014 at 12:01:48AM -0500, Jason Wang wrote:
>>
>>> > Some drivers set RDT=RDH. Oddly, this works on real hardware. To
>>> > work around
(struct e1000_rx_desc);
>> > + }
>> > +val--;
>> > +}
>> > s->mac_reg[index] = val & 0x;
>> > if (e1000_has_rxbufs(s, 1)) {
>> > qemu_flush_queued_packets(qemu_get_queue(s->nic));
>> > --
>> > 2.1.3
>> >
>> >
>> >
--
Richard Tollerton
x27;t, and instead was reusing the previous value of the
MDIC register. This screwed up driver init.
To fix, don't reuse the current value of the MDIC register when an
invalid PHY address is referenced; let the value be set to precisely
MDIC_ERROR|MDIC_READY.
Signed-off-by: Richard Tollerton
Sign
Some drivers set RDT=RDH. Oddly, this works on real hardware. To work
around this, autodecrement RDT when this happens.
Signed-off-by: Richard Tollerton
Signed-off-by: Jeff Westfahl
---
hw/net/e1000.c | 6 ++
1 file changed, 6 insertions(+)
diff --git a/hw/net/e1000.c b/hw/net/e1000.c
these two patches adjust this behavior. Tested lightly on both ETS
and Win7.
This is a resend; there are no changes compared to v1.
Richard Tollerton (2):
e1000: Clear MDIC register when PHY addr is invalid
e1000: decrement RDT if equal to RDH
hw/net/e1000.c | 8 +++-
1 file changed, 7
bump
Richard Tollerton writes:
> The 8254x driver in certain versions of Phar Lap ETS hasn't been
> initializing the e1000 device properly in qemu. It looks like the driver
> is relying on two specific pieces of behavior which (anecdotally) exist
> in hardware, although
these two patches adjust this behavior.
Tested lightly on both ETS and Win7. Adapted from patches by Jeff
Westfahl for VirtualBox.
Richard Tollerton (2):
e1000: Clear MDIC register when PHY addr is invalid
e1000: decrement RDT if equal to RDH
hw/net/e1000.c | 8 +++-
1 file changed, 7
Some drivers set RDT=RDH. Oddly, this works on real hardware. To work
around this, autodecrement RDT when this happens.
Signed-off-by: Richard Tollerton
Signed-off-by: Jeff Westfahl
---
hw/net/e1000.c | 6 ++
1 file changed, 6 insertions(+)
diff --git a/hw/net/e1000.c b/hw/net/e1000.c
x27;t, and instead was reusing the previous value of the
MDIC register. This screwed up driver init.
To fix, don't reuse the current value of the MDIC register when an
invalid PHY address is referenced; let the value be set to precisely
MDIC_ERROR|MDIC_READY.
Signed-off-by: Richard Tollerton
Sign
10 matches
Mail list logo