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

Re: [Xen-devel] Issues with PCI-Passtrough (VT-d) in HVM with Xen 4.6



>>> On 03.06.16 at 14:02, <juwalter@xxxxxxxxx> wrote:
> One observation that struck me:
>   - if the write request is a word (as opposed to a double word), the 
> write always seems to succeed!
> 
>       [139971.914490] xen-pciback: 0000:06:00.0: write request 2 bytes at 0x4 
> = 100       <---- input value
>       [139971.914492] xen-pciback: 0000:06:00.0: read 2 bytes at 0x4
>       [139971.914505] xen-pciback: 0000:06:00.0: read 2 bytes at 0x4 = 103    
>    <---- before write
>       [139971.914527] xen-pciback: 0000:06:00.0: read 2 bytes at 0x4
>       [139971.914540] xen-pciback: 0000:06:00.0: read 2 bytes at 0x4 = 100    
>    <---- after write
> 
> 
>   - if the write request is a double word, the write _sometimes_ seems 
> to succeed!

Well, perhaps that depends on which field gets written to, rather
than merely the width of the write.

>     or is this just some method the overwrite all registers with 
> "ffffffff" first and then set the actual value?
> 
>    [914572] xbk: 06:00.0: write request 4 bytes at 0x10 = ffffffff
>    [914574] xbk: 06:00.0: read 4 bytes at 0x10
>    [914582] xbk: 06:00.0: read 4 bytes at 0x10 = f7a00000
>    [914591] xbk: 06:00.0: read 4 bytes at 0x10
>    [914599] xbk: 06:00.0: read 4 bytes at 0x10 = 10000      <---- fail

That's an unexpected value, indeed (but seems to match up with
the source, so there's definitely something wrong here - this
presumably ought to be 0xffff0000, meaning the size of that
region is 64k). You also can't expect to read back 0xffffffff in this
case: BARs have some read-only bits at the bottom.

>    [914636] xbk: 06:00.0: write request 4 bytes at 0x10 = f7a00000
>    [914638] xbk: 06:00.0: read 4 bytes at 0x10
>    [914646] xbk: 06:00.0: read 4 bytes at 0x10 = 10000
>    [914660] xbk: 06:00.0: read 4 bytes at 0x10
>    [914667] xbk: 06:00.0: read 4 bytes at 0x10 = f7a00000      <---- 
> success

But overall this doesn't look to be a trace of the post-reset
restore attempt, but instead I'd guess this is the OS sizing
the BARs. I.e. while apparently pointing to a problem, likely
not directly related to yours.

I'll see to put together a patch for the recognizable problem,
but I'm still unclear about your actual one.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.