With a custom compiled kernel it worked fine as far as I tested it. But I have no way to tell how stable it is nor how reliable it is.
After that I did not have time for anything else. but I just recently started working on this again.
I did one test according to the information leesteken mentioned, but to no success yet.
- Updated Proxmox to version 5.15.39
- Identify the controller I want to pass through
Code:
root@pve:# lspci | grep SATA
84:00.0 SATA controller: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] (rev 51)
85:00.0 SATA controller: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] (rev 51)
- Check with reset_methods are available for the PCI device
Code:
root@pve:# cat /sys/bus/pci/devices/0000\:85\:00.0/reset_method
flr bus
- Disable the flr mode
Code:
root@pve:# echo bus > /sys/bus/pci/devices/0000\:85\:00.0/reset_method
- I repeated step 3 here to check if flr was disabled
Code:
root@pve:# cat /sys/bus/pci/devices/0000\:85\:00.0/reset_method
bus
Al that was easy to configure but after creating a VM and passing the second SATA controller (pci device 85:00.0) to it all went wrong.
Upon starting the VM the first SATA controller (pci device 84:00.0) lost the disks and I got a bunch read errors because my VM disk images are on the first SATA controller.
I have not figured out why the first controller throws issues when I use the second as pass-through.
But the above steps did prevent the system from crashing with the flr reset timeout that I had before this. So this is at least a step in the right direction.
I did remember that the wiki
Proxmox PCIe passthrough recommends to disable the device so the host wont use it. But both SATA controllers have the same device IDs, so cant blacklist one of them, only both. There is probably a work around for this but I have not found it yet.