Revision 3fd3d0b4 hw/eepro100.c

b/hw/eepro100.c
1317 1317
    return 0;
1318 1318
}
1319 1319

  
1320
static void eepro100_write_port(EEPRO100State * s, uint32_t val)
1320
static void eepro100_write_port(EEPRO100State *s)
1321 1321
{
1322
    uint32_t val = e100_read_reg4(s, SCBPort);
1322 1323
    uint32_t address = (val & ~PORT_SELECTION_MASK);
1323 1324
    uint8_t selection = (val & PORT_SELECTION_MASK);
1324 1325
    switch (selection) {
......
1472 1473
        }
1473 1474
        eepro100_interrupt(s, 0);
1474 1475
        break;
1476
    case SCBPort:
1477
    case SCBPort + 1:
1478
    case SCBPort + 2:
1479
        TRACE(OTHER, logout("addr=%s val=0x%02x\n", regname(addr), val));
1480
        break;
1475 1481
    case SCBPort + 3:
1482
        TRACE(OTHER, logout("addr=%s val=0x%02x\n", regname(addr), val));
1483
        eepro100_write_port(s);
1484
        break;
1476 1485
    case SCBFlow:       /* does not exist on 82557 */
1477 1486
    case SCBFlow + 1:
1478 1487
    case SCBFlow + 2:
......
1507 1516
        eepro100_write_command(s, val);
1508 1517
        eepro100_write1(s, SCBIntmask, val >> 8);
1509 1518
        break;
1519
    case SCBPort:
1520
        TRACE(OTHER, logout("addr=%s val=0x%04x\n", regname(addr), val));
1521
        break;
1522
    case SCBPort + 2:
1523
        TRACE(OTHER, logout("addr=%s val=0x%04x\n", regname(addr), val));
1524
        eepro100_write_port(s);
1525
        break;
1510 1526
    case SCBeeprom:
1511 1527
        TRACE(OTHER, logout("addr=%s val=0x%04x\n", regname(addr), val));
1512 1528
        eepro100_write_eeprom(s->eeprom, val);
......
1529 1545
        break;
1530 1546
    case SCBPort:
1531 1547
        TRACE(OTHER, logout("addr=%s val=0x%08x\n", regname(addr), val));
1532
        eepro100_write_port(s, val);
1548
        eepro100_write_port(s);
1533 1549
        break;
1534 1550
    case SCBCtrlMDI:
1535 1551
        eepro100_write_mdi(s, val);

Also available in: Unified diff