*** ne2000.c.orig 2005-12-20 07:51:53.000000000 +0900 --- ne2000.c 2006-04-30 14:26:56.000000000 +0900 *************** *** 145,174 **** --- 145,176 ---- static void ne2000_reset(NE2000State *s) { int i; s->isr = ENISR_RESET; memcpy(s->mem, s->macaddr, 6); s->mem[14] = 0x57; s->mem[15] = 0x57; /* duplicate prom data */ for(i = 15;i >= 0; i--) { s->mem[2 * i] = s->mem[i]; s->mem[2 * i + 1] = s->mem[i]; } + s->cmd &= ~0x06; // XXX + s->cmd |= 0x21; // XXX } static void ne2000_update_irq(NE2000State *s) { int isr; isr = (s->isr & s->imr) & 0x7f; #if defined(DEBUG_NE2000) printf("NE2000: Set IRQ line %d to %d (%02x %02x)\n", s->irq, isr ? 1 : 0, s->isr, s->imr); #endif if (s->irq == 16) { /* PCI irq */ pci_set_irq(s->pci_dev, 0, (isr != 0)); } else { /* ISA irq */