aboutsummaryrefslogtreecommitdiff
path: root/hw
diff options
context:
space:
mode:
author=?UTF-8?q?Reimar=20D=C3=B6ffinger?= <Reimar.Doeffinger@gmx.de>2009-09-12 15:42:01 +0200
committerAnthony Liguori <aliguori@us.ibm.com>2009-10-05 09:32:53 -0500
commitf4e94dfefb63e57e96c19da4cebf787e1d2726b6 (patch)
tree0c4d0e22524c111d97eee3fd8557e1d1505f3b9c /hw
parentfc3baad7bf1a2256ae784181a6ec73c5242db8b5 (diff)
Set revision in eeprom correctly for 82557 versions.
This is necessary to make FreeBSD recognize the device as 82557 - otherwise its driver will use unsupported features and fail to work. Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'hw')
-rw-r--r--hw/eepro100.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/hw/eepro100.c b/hw/eepro100.c
index fa129e6e47..2d81eb9d9e 100644
--- a/hw/eepro100.c
+++ b/hw/eepro100.c
@@ -502,6 +502,8 @@ static void nic_selective_reset(EEPRO100State * s)
//~ eeprom93xx_reset(s->eeprom);
memcpy(eeprom_contents, s->macaddr, 6);
eeprom_contents[0xa] = 0x4000;
+ if (s->device == i82557B || s->device == i82557C)
+ eeprom_contents[5] = 0x0100;
uint16_t sum = 0;
for (i = 0; i < EEPROM_SIZE - 1; i++) {
sum += eeprom_contents[i];