Revision ec1d02d8 hw/eepro100.c
b/hw/eepro100.c | ||
---|---|---|
903 | 903 |
for (;;) { |
904 | 904 |
s->cb_address = s->cu_base + s->cu_offset; |
905 | 905 |
cpu_physical_memory_read(s->cb_address, (uint8_t *)&s->tx, sizeof(s->tx)); |
906 |
uint16_t status = le16_to_cpu(s->tx.status); |
|
907 | 906 |
uint16_t command = le16_to_cpu(s->tx.command); |
907 |
s->tx.status = le16_to_cpu(s->tx.status); |
|
908 | 908 |
logout("val=(cu start), status=0x%04x, command=0x%04x, link=0x%08x\n", |
909 |
status, command, s->tx.link); |
|
909 |
s->tx.status, command, s->tx.link);
|
|
910 | 910 |
bool bit_el = ((command & COMMAND_EL) != 0); |
911 | 911 |
bool bit_s = ((command & COMMAND_S) != 0); |
912 | 912 |
bool bit_i = ((command & COMMAND_I) != 0); |
... | ... | |
950 | 950 |
break; |
951 | 951 |
} |
952 | 952 |
/* Write new status. */ |
953 |
stw_phys(s->cb_address, status | STATUS_C | (success ? STATUS_OK : 0)); |
|
953 |
stw_phys(s->cb_address, s->tx.status | STATUS_C | (success ? STATUS_OK : 0));
|
|
954 | 954 |
if (bit_i) { |
955 | 955 |
/* CU completed action. */ |
956 | 956 |
eepro100_cx_interrupt(s); |
Also available in: Unified diff