Hi Marc,
Right, I did consider this.
FWIW, I've pushed my hack branch[1]
Did you miss that reference?
out with a couple of patches
for you to try (the top 3 patches). They allow platform-MSI domains
created by devices (mbigen, ICU) to be advertised as shared between
devices, so that the low-level driver can handle that in an appropriate
way.
I gave it a go on my D05 and nothing blew up, but I can't really remove
the kernel module, as that's where my disks are... :-/
You still should be able to enable my favorite
CONFIG_DEBUG_TEST_DRIVER_REMOVE=y, while the distro still boot. But
I'll just test if you want.
And while the mbigen port that is connected to the SAS controller
doesn't seem to be shared between endpoints, some other ports definitely
are:
# cat /sys/kernel/debug/irq/domains/\\_SB.MBI1
name: \_SB.MBI1
size: 409
mapped: 192
flags: 0x00000003
[...]
I guess that the other 217 lines are connected somewhere.
I think that is not the right one. See
https://github.com/tianocore/edk2-platforms/blob/master/Silicon/Hisilicon/Hi1616/D05AcpiTables/Dsdt/D05Sas.asl#L101