qemu-devel
[Top][All Lists]
Advanced

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

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


From: Michael S. Tsirkin
Subject: [Qemu-devel] Re: [PATCH] e1000: fix init values for command register
Date: Thu, 10 Dec 2009 20:14:15 +0200
User-agent: Mutt/1.5.19 (2009-01-05)

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 <address@hidden>
> Tested-by: Luiz Capitulino <address@hidden>
> Signed-off-by: Michael S. Tsirkin <address@hidden>

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

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