On 12/4/25 4:18 PM, Nam Cao wrote:
> Hi Nilay,
>
> Nilay Shroff <[email protected]> writes:
>> I have been using an NVMe disk on my PowerPC system that supports up to
>> 129 MSI-X interrupt vectors. Everything worked fine until Linux kernel
>> v6.18, after which the NVMe driver stopped detecting the disk because
>> the driver probe now fails.
>>
>> After further investigation, I found that the probe failure in v6.18
>> occurs during PCI/MSI-X vector allocation. A git bisect identified
>> commit daaa574aba6f (“powerpc/pseries/msi: Switch to msi_create_parent_
>> irq_domain()”) as the first bad commit.
>
> Thanks for the report. I can (kind of) reproduce the problem with QEMU.
>
> I think moving rtas_prepare_msi_irqs() into pseries_irq_domain_alloc()
> should resolve the problem. But I'm not sure because I don't understand
> how RTAS works.
>
> Does IBM have some documentation describing the RTAS API? I failed to
> google it.
Yes you can find the architecture document here:
https://github.com/linuxppc/public-docs/blob/main/LoPAPR/LoPAR-20200812.pdf
You may refer section 7 in the above document, which describes RTAS API.
Thanks,--Nilay