|
| From: | Fabrice Bellard |
| Subject: | Re: [Qemu-devel] NE2000 problem found |
| Date: | Wed, 09 Jun 2004 21:43:46 +0200 |
| User-agent: | Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030624 |
Mike Nordell wrote:
ne2000_asic_ioport_write:
if (s->dcfg & 0x01) {
/* 16 bit access */
+ assert(s->rcnt >= 2);
+ assert(s->rsar + 2 <= s->stop);
ne2000_mem_writew(s, s->rsar, val);
s->rsar += 2;
s->rcnt -= 2;
}
First assert triggered with:
s->dcfg: 0x49
s->rcnt: 1
s->rsar: 0x4156
s->stop: 0xc000
What surprises me the most is that it's coming from an outb, not outw. Is
this really correct, or is the ne2000 emulation perhaps missing a
differentiation between 16- and 8-bit I/O?
It is correct : the size of the transfer is determined by dcfg, not by the width of the I/O instruction.
I'll add *readb/writeb locally, to see if things go better, and report findings/patch.
Can you tell me exactly in which case you have problems with NE2000 ?BTW, did someone find why Windows XP has security problems in QEMU ? It seems related to the networking (the Safe mode without networking works, but not the one with networking), but I don't have enough knowledge of Windows to go further.
Fabrice.
| [Prev in Thread] | Current Thread | [Next in Thread] |