ASRock Fatal1ty x399 passthrough issue

Hi,
i m running into some trouble trying to pass some of the motherboard’s devices to a kvm guest.
I m trying to start a vm with the build-in sata, audio and one of the usb controller and of course a gfx.

The vm successfully start with only the gfx (with the help of the java ZenBridgeBaconRecovery)
But as soon as i try to pass all the devices in the groups i need, the computer simply reboot.

Here is my dmesg (ACS enabled): https://pastebin.com/LchaRcvf
Here are my IOMMU groups: https://pastebin.com/Ly3XBXFN
Here are my IOMMU groups with out ACS enabled : https://pastebin.com/HKEg0j7d
I m running under gentoo and using the kernel 4.14.12 patched with the ACS override patch.

I prevent the kernel to use the devices i need using pci-stub:

pci-stub.ids=10de:1b06,10de:10ef,1022:145a,1022:1456,1022:145c,1022:1455,1022:1457,1022:7901,1022:43b6

And bind the devices to vfio-pci in my kvm initscript with this:

function vfioBind() {
        vendor=$(cat /sys/bus/pci/devices/0000:$1/vendor)
        device=$(cat /sys/bus/pci/devices/0000:$1/device)
        if [ -e /sys/bus/pci/devices/0000:$1/driver ]; then
                echo 0000:$1 > /sys/bus/pci/devices/0000:$1/driver/unbind
        fi
	echo $vendor $device > /sys/bus/pci/drivers/vfio-pci/new_id
}

Any ideas are more than welcome.

edit: i forgot to give you the pci ids i try to passthrough:

pci=“43:00.1”

#pci=“43:00.1 44:00.0 44:00.2 44:00.3 0b:00.0 0b:00.2 0b:00.3 45:00.0 45:00.2”

mfpci=“43:00.0”

using the shortest pci value, the vm starts.
with the longest pci value, the computer just hard reset.
i also tried with just the usb group and also with just the audio/sata group, but same result, instant reboot.

I made some progress.
I m able to boot the vm with the usb controller.

Instead of using the java daemon to reset the pci slot, i applied the pciReset patch to the kernel.
The computer was probably crashing because i was only giving half of the usb controller to the vm,
the usb controller use 2 pci address, plus the 2 other ones grouped with it.
in my case :

IOMMU group 17
0a:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Device [1022:145a]
0a:00.2 Encryption controller [1080]: Advanced Micro Devices, Inc. [AMD] Device [1022:1456]
0a:00.3 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Device [1022:145c]
IOMMU group 33
44:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Device [1022:145a]
44:00.2 Encryption controller [1080]: Advanced Micro Devices, Inc. [AMD] Device [1022:1456]
44:00.3 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Device [1022:145c]