qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] Re: [PATCH 2/3] qemu: make cirrus init value pci spec compl


From: Michael S. Tsirkin
Subject: [Qemu-devel] Re: [PATCH 2/3] qemu: make cirrus init value pci spec compliant
Date: Thu, 8 Oct 2009 18:06:23 +0200
User-agent: Mutt/1.5.19 (2009-01-05)

On Thu, Oct 08, 2009 at 05:29:29PM +0200, Avi Kivity wrote:
> On 10/08/2009 04:52 PM, Michael S. Tsirkin wrote:
>> PCI memory should be disabled at reset, otherwise
>> we might claim transactions at address 0.
>> I/O should also be disabled, although for cirrus
>> it is harmless to enable it as we do not
>> have I/O bar.
>>
>> Note: need bios fix for this patch to work:
>> currently pc-bios incorrently assumes that it does not
>> need to enable i/o unless device has i/o bar.
>>
>> Signed-off-by: Michael S. Tsirkin<address@hidden>
>> ---
>>   hw/cirrus_vga.c |    1 -
>>   1 files changed, 0 insertions(+), 1 deletions(-)
>>
>> diff --git a/hw/cirrus_vga.c b/hw/cirrus_vga.c
>> index 1feb827..c54ac65 100644
>> --- a/hw/cirrus_vga.c
>> +++ b/hw/cirrus_vga.c
>> @@ -3248,7 +3248,6 @@ static int pci_cirrus_vga_initfn(PCIDevice *dev)
>>        /* setup PCI */
>>        pci_config_set_vendor_id(pci_conf, PCI_VENDOR_ID_CIRRUS);
>>        pci_config_set_device_id(pci_conf, device_id);
>> -     pci_conf[0x04] = PCI_COMMAND_IOACCESS | PCI_COMMAND_MEMACCESS;
>>        pci_config_set_class(pci_conf, PCI_CLASS_DISPLAY_VGA);
>>        pci_conf[PCI_HEADER_TYPE] = PCI_HEADER_TYPE_NORMAL;
>>    
>
> This needs to be conditional on the machine type.  Old machines must  
> retain this code for live migration to work (we need to live migrate the  
> bios, so we can't assume the bios fix is in during live migration from  
> older qemus).

No, if you migrate from older qemu you will be fine as command
is enabled there on init.

Only migration *to* older qemu might create a problem and then only if
you manage to migrate after pci was reset but before bios set the
register, which is a small window.

Do we really want to update machine type for this?

> -- 
> error compiling committee.c: too many arguments to function




reply via email to

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