[vfio-users] Radeon R9 290 passthrough to Win10 guest - bsod/reboot on driver install
Bob Dawes
xochipilli4 at yahoo.com
Mon Apr 18 13:40:12 UTC 2016
This guy has got it exactly. Could hardly do any reboot related task
without at least one bsod until I used an ioh3420 root port and both
functions of the card together under the root port.
In the end I tracked it down to the registers and the root port having
different link description registers after some reboots. Since they
share the same physical link this could have unpredictable results plus
I even caught the windows drivers making direct accesses to the root
port registers during link setup. You are stuck with certain config
parameters defined by the fake root port but they aren't important
assuming your card can handle a minimal link payload.
I have a start up script that sorts out the registers and means I almost
never have to hard reset, but suggest you try a simple set up first as
it's not great practice to setpci your registers. The other thing I can
recommend if you are having problems is to force all your pcie cards to
have safe MaxPayload parameters by adding pci=pcie_bus_peer2peer to your
kernel command line - as making those vary between root / both card
functions is a guaranteed qemu boot BSOD for me. The problem we're
having tends to emerge because the cards can't be fully reset and so
tend to go out of line. Keeping them together in the client etc. really
helps as does having minimal non-agressive parameters for things such as
MaxPayload.
For the avoidance of doubt - I can do whatever the hell I want and it
still works. I can even boot with fglrx and then rebind to vfio. I have
to bind the root port to pci-stub if I put ASPM on the root port as the
linux drivers start messing with stuff - but even that is manageable.
It's a bit different with PCI-e2 boards vs the 100 series board I have,
but I suspect the principles hold regardless. Good luck!
On 18/04/16 01:47, Stewart Adam wrote:
> I faced similar issues with my R270, in my case *entirely removing*
> the vmport=off option (its presence alone caused issues) and attaching
> the GPU to a ioh3420 device instead of directly to the PCI bus fixed
> the issue:
> https://www.redhat.com/archives/vfio-users/2015-December/msg00211.html
>
> Like many of you mention, I tried several versions from both Catalyst
> and Crimson and all failed without those two elements in my
> configuration. Without them, I experienced all sorts of hangs and
> BSODs on driver installation or boot-up. It's worked flawlessly, even
> after several guest reboots, since adding them.
>
> This thread from January is also be relevant:
> https://www.redhat.com/archives/vfio-users/2016-January/msg00191.html
>
> Regards,
> Stewart
>
> On 2016-04-17 6:15 PM, Ryan Flagler wrote:
>>
>> I ran an R9 280 with only the reboot issue. I believe the most
>> important settings for me were using the i440fx chipset and the uefi
>> bios.
More information about the vfio-users
mailing list