qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] call flow to hit get_pci_config_device() during live mi


From: Chris Friesen
Subject: Re: [Qemu-devel] call flow to hit get_pci_config_device() during live migration
Date: Fri, 9 Jun 2017 17:18:05 -0600
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0

On 06/09/2017 02:00 PM, Chris Friesen wrote:

I think what I end up with is that byte 0x20 (ie 32) of the PCI config for the
virtio-blk device is 0 in the data coming over the wire, and 0xC in the local
copy.  Since cmask is 0xff we need to check all the bits in the byte, and both
wmask and w1cmask are 0 so the version on the wire and the local version should
be the same.

I've confirmed that if I boot with a machine type of pc-i440fx-2.2 on the older version of qemu then I get different output in lspci -vv for the virtio-blk device.

One the older version I get:

        Region 0: I/O ports at c000 [size=64]
        Region 1: Memory at febd6000 (32-bit, non-prefetchable) [size=4K]
        Capabilities: [40] MSI-X: Enable+ Count=2 Masked-
                Vector table: BAR=1 offset=00000000
                PBA: BAR=1 offset=00000800


On the new version I get:

        Region 0: I/O ports at c000 [size=64]
        Region 1: Memory at febd2000 (32-bit, non-prefetchable) [size=4K]
        Region 4: Memory at fe004000 (64-bit, prefetchable) [size=16K]
        Capabilities: [98] MSI-X: Enable+ Count=2 Masked-
                Vector table: BAR=1 offset=00000000
                PBA: BAR=1 offset=00000800
        Capabilities: [84] Vendor Specific Information: Len=14 <?>
        Capabilities: [70] Vendor Specific Information: Len=14 <?>
        Capabilities: [60] Vendor Specific Information: Len=10 <?>
        Capabilities: [50] Vendor Specific Information: Len=10 <?>
        Capabilities: [40] Vendor Specific Information: Len=10 <?>

We had to patch the CentOS/RHEL versions of qemu-kvm-ev to enable support for the pc-i440fx-2.2 machine type, and it seems we missed something on the newer version.

Can someone point me to the code that sets up the PCI config space for the virtio-blk device? I'd like to figure out what's adding Region 4 and the extra capabilities.

Chris



reply via email to

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