On Wed, Dec 09, 2009 at 10:35:37PM +0200, Michael S. Tsirkin wrote:
> 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 <lcapitul...@redhat.com>
> Tested-by: Luiz Capitulino <lcapitul...@redhat.com>
> Signed-off-by: Michael S. Tsirkin <m...@redhat.com>

This patch is also appropriate for 0.12, it will make migration 0.12 to
master less painful.
What's the process to get it there?
Should I create pci-for-0.12 branch on my tree?


> ---
>  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