/[qemu]/qemu/hw/ne2000.c
ViewVC logotype

Diff of /qemu/hw/ne2000.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.13 by bellard, Sun Oct 3 13:56:00 2004 UTC revision 1.14 by bellard, Sun Apr 10 14:51:41 2005 UTC
# Line 246  static void ne2000_receive(void *opaque, Line 246  static void ne2000_receive(void *opaque,
246  static void ne2000_ioport_write(void *opaque, uint32_t addr, uint32_t val)  static void ne2000_ioport_write(void *opaque, uint32_t addr, uint32_t val)
247  {  {
248      NE2000State *s = opaque;      NE2000State *s = opaque;
249      int offset, page;      int offset, page, index;
250    
251      addr &= 0xf;      addr &= 0xf;
252  #ifdef DEBUG_NE2000  #ifdef DEBUG_NE2000
# Line 264  static void ne2000_ioport_write(void *op Line 264  static void ne2000_ioport_write(void *op
264                  ne2000_update_irq(s);                  ne2000_update_irq(s);
265              }              }
266              if (val & E8390_TRANS) {              if (val & E8390_TRANS) {
267                  qemu_send_packet(s->nd, s->mem + (s->tpsr << 8), s->tcnt);                  index = (s->tpsr << 8);
268                    /* XXX: next 2 lines are a hack to make netware 3.11 work */
269                    if (index >= NE2000_PMEM_END)
270                        index -= NE2000_PMEM_SIZE;
271                    /* fail safe: check range on the transmitted length  */
272                    if (index + s->tcnt <= NE2000_PMEM_END) {
273                        qemu_send_packet(s->nd, s->mem + index, s->tcnt);
274                    }
275                  /* signal end of transfert */                  /* signal end of transfert */
276                  s->tsr = ENTSR_PTX;                  s->tsr = ENTSR_PTX;
277                  s->isr |= ENISR_TX;                  s->isr |= ENISR_TX;
278                    s->cmd &= ~E8390_TRANS;
279                  ne2000_update_irq(s);                  ne2000_update_irq(s);
280              }              }
281          }          }

Legend:
Removed from v.1.13  
changed lines
  Added in v.1.14

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26