While writing working on an e1000 driver for my university's OS I noticed that some registers aren't readable in QEMU, but they should be readable as stated in Intels Driver Developer Manual (and also verified on real hardware).
diff --git a/hw/e1000.c b/hw/e1000.c index 028afd1..3987e70 100644 --- a/hw/e1000.c +++ b/hw/e1000.c @@ -789,6 +789,8 @@ static uint32_t (*macreg_readops[])(E1000State *, int) = { getreg(MANC), getreg(MDIC), getreg(SWSM), getreg(STATUS), getreg(TORL), getreg(TOTL), getreg(IMS), getreg(TCTL), getreg(RDH), getreg(RDT), getreg(VET), getreg(ICS), + getreg(TDBAL), getreg(TDBAH), getreg(RDBAH), getreg(RDBAL), + getreg(TDLEN), getreg(RDLEN), [TOTH] = mac_read_clr8, [TORH] = mac_read_clr8, [GPRC] = mac_read_clr4, [GPTC] = mac_read_clr4, [TPR] = mac_read_clr4, [TPT] = mac_read_clr4, Oh and is there any specific reason why Jumbo-Frames are limited to 4k instead of i.e. Alteon 9014 bytes? Regards, Kay Ackermann