Opened 15 years ago
Closed 15 years ago
#6008 closed enhancement (fixed)
E1000: EERD (EEPROM Read register) functionality => Fixed in SVN
Reported by: | Josh Cornutt | Owned by: | |
---|---|---|---|
Component: | network | Version: | VirtualBox 3.1.2 |
Keywords: | E1000 EEPROM EERD | Cc: | |
Guest type: | other | Host type: | other |
Description
This is a patch for /src/VBox/Devices/Network/DevE1000.cpp. It allows the use of the EERD to get data from the EEPROM without having to use the 4-wire method. Chapter 13.4.4 of the 8254x Software Developer's manual describes the EERD.
The patch file is attached.
Thanks, Josh
Attachments (2)
Change History (7)
by , 15 years ago
Attachment: | DevE1000.cpp.patch added |
---|
comment:1 by , 15 years ago
Hi Josh,
Thanks a lot for the patch! I took a liberty to revise it in order to use existing infrastructure.
One small note: clearing EERD.DONE in write handler does not do any good (not hurts either) as this code is executed in critical section preventing any reads from this register until we are done.
Unfortunately I have no guests that are able to read EERD on the chipsets being emulated (the only one I know is e1000e driver with 82571 chipset). Could you help me with testing it?
Thanks in advance, Aleksey
comment:2 by , 15 years ago
aleksey: Thanks! I just tested your patch with my custom OS (just doing a straight-forward read of the first 3 words from the EEPROM using EERD) with "Intel PRO/1000 MT Server (82545EM)" emulation, and I was able to acquire the hardware address (accurately) without any problems/hangs. I'm not sure how else to test this patch with Linux/Windows/BSD/etc... but if you have an idea I'd be happy to give it a try (even though most e1000 drivers use the 4-wire interface AFAIK).
comment:3 by , 15 years ago
Hi Josh,
I don't know any guests that use EERD, except e1000e driver in Linux, but it works with PCIe bus only. Let's assume that everything is OK, and if it is not someone will file another ticket eventually. I've already merged the patch into the trunk, so I'll just change the title to "=> Fixed in SVN".
Thanks, Aleksey
comment:4 by , 15 years ago
Summary: | E1000: EERD (EEPROM Read register) functionality → E1000: EERD (EEPROM Read register) functionality => Fixed in SVN |
---|
comment:5 by , 15 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
EERD register functionality patch