Revision b1332393 hw/e1000.c
b/hw/e1000.c | ||
---|---|---|
154 | 154 |
if (val) |
155 | 155 |
val |= E1000_ICR_INT_ASSERTED; |
156 | 156 |
s->mac_reg[ICR] = val; |
157 |
s->mac_reg[ICS] = val; |
|
157 | 158 |
qemu_set_irq(s->dev.irq[0], (s->mac_reg[IMS] & s->mac_reg[ICR]) != 0); |
158 | 159 |
} |
159 | 160 |
|
... | ... | |
286 | 287 |
{ |
287 | 288 |
unsigned int index, r = s->mac_reg[EERD] & ~E1000_EEPROM_RW_REG_START; |
288 | 289 |
|
290 |
if ((s->mac_reg[EERD] & E1000_EEPROM_RW_REG_START) == 0) |
|
291 |
return (s->mac_reg[EERD]); |
|
292 |
|
|
289 | 293 |
if ((index = r >> E1000_EEPROM_RW_ADDR_SHIFT) > EEPROM_CHECKSUM_REG) |
290 |
return 0; |
|
291 |
return (s->eeprom_data[index] << E1000_EEPROM_RW_REG_DATA) | |
|
292 |
E1000_EEPROM_RW_REG_DONE | r; |
|
294 |
return (E1000_EEPROM_RW_REG_DONE | r); |
|
295 |
|
|
296 |
return ((s->eeprom_data[index] << E1000_EEPROM_RW_REG_DATA) | |
|
297 |
E1000_EEPROM_RW_REG_DONE | r); |
|
293 | 298 |
} |
294 | 299 |
|
295 | 300 |
static void |
... | ... | |
780 | 785 |
getreg(WUFC), getreg(TDT), getreg(CTRL), getreg(LEDCTL), |
781 | 786 |
getreg(MANC), getreg(MDIC), getreg(SWSM), getreg(STATUS), |
782 | 787 |
getreg(TORL), getreg(TOTL), getreg(IMS), getreg(TCTL), |
783 |
getreg(RDH), getreg(RDT), getreg(VET), |
|
788 |
getreg(RDH), getreg(RDT), getreg(VET), getreg(ICS),
|
|
784 | 789 |
|
785 | 790 |
[TOTH] = mac_read_clr8, [TORH] = mac_read_clr8, [GPRC] = mac_read_clr4, |
786 | 791 |
[GPTC] = mac_read_clr4, [TPR] = mac_read_clr4, [TPT] = mac_read_clr4, |
Also available in: Unified diff