qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH] e1000: fix init values for command register


From: Michael S. Tsirkin
Subject: [Qemu-devel] [PATCH] e1000: fix init values for command register
Date: Wed, 9 Dec 2009 22:35:37 +0200
User-agent: Mutt/1.5.19 (2009-01-05)

Command register for e1000 was initialized to
values out of spec: all of bus master,
io, memory and interrupt disable bits were set.

This breaks the device now that we actually respect
the interrupt disable bit, unless the guest
happens to clear it. Fix, and make the device
more spec compliant, by not touching
the default.

There are implications for migration
from old qemu as well, will be addressed
separately.

Reported-by: Luiz Capitulino <address@hidden>
Tested-by: Luiz Capitulino <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
---
 hw/e1000.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/hw/e1000.c b/hw/e1000.c
index 8566fe3..ad7a267 100644
--- a/hw/e1000.c
+++ b/hw/e1000.c
@@ -1089,7 +1089,6 @@ static int pci_e1000_init(PCIDevice *pci_dev)
 
     pci_config_set_vendor_id(pci_conf, PCI_VENDOR_ID_INTEL);
     pci_config_set_device_id(pci_conf, E1000_DEVID);
-    *(uint16_t *)(pci_conf+0x04) = cpu_to_le16(0x0407);
     *(uint16_t *)(pci_conf+0x06) = cpu_to_le16(0x0010);
     pci_conf[0x08] = 0x03;
     pci_config_set_class(pci_conf, PCI_CLASS_NETWORK_ETHERNET);
-- 
1.6.6.rc1.43.gf55cc




reply via email to

[Prev in Thread] Current Thread [Next in Thread]