[PATCH v4 4/7] PCI: Don't update VF BARs while VF memory space is enabled

David Laight David.Laight at ACULAB.COM
Thu Dec 1 04:56:05 AEDT 2016


From: Bjorn Helgaas
> Sent: 29 November 2016 04:15
> If we update a VF BAR while it's enabled, there are two potential problems:
> 
>   1) Any driver that's using the VF has a cached BAR value that is stale
>      after the update, and
> 
>   2) We can't update 64-bit BARs atomically, so the intermediate state
>      (new lower dword with old upper dword) may conflict with another
>      device, and an access by a driver unrelated to the VF may cause a bus
>      error.

Can the high word be first set to a value that is invalid (ie a 4G block
that has no valid PCIe slaves) before updating the low word and finally
the correct high word.

Note that the address only has to be outside the range that the bridge
forwards onto that specific bus.

	David



More information about the Linuxppc-dev mailing list