Re: PCI IO ECS access is no longer possible for AMD family 17h

From: Ingo Molnar
Date: Wed Feb 26 2025 - 10:08:11 EST



* Rostyslav Khudolii <ros@xxxxxxxx> wrote:

> > My understanding, based on the above info, is that ACPI should be
> > used. The direct register enablement is still possible for
> > backwards compatibility, if needed.
> >
> > I think your observation proves a good point. The registers were
> > moved starting in Zen. But this is not an issue on modern OSes
> > since ACPI is used by default.
>
> This is my understanding too. However, what is the desired behavior
> on Zen if the CONFIG_ACPI_MCFG and CONFIG_PCI_MMCONFIG are both
> disabled? ECS should not be possible since the registers were moved,
> right? If that's the case then, at the very least, it would be great
> to have a warning message.
>
> > For your specific issue, I think we should determine if there is a
> > configuration or a firmware problem.
>
> To give a bit more context: I am porting the kernel which works on
> the AMD Ryzen™ Embedded V1000-based device. On that system, it seems
> like the firmware doesn't disable IO access to ECS (which is wrong),
> hence we have never experienced this issue before. Now, the
> R2000-based device's firmware disables IO access to ECS (correctly)
> and that's when the issue starts to happen.

[ Sorry about the late reply. ]

So what is the practical impact here? Do things start breaking
unexpectedly if CONFIG_ACPI_MCFG and CONFIG_PCI_MMCONFIG are disabled?
Then I'd suggest fixing that in the Kconfig space, either by adding a
dependency on ACPI_MCFG && PCI_MMCONFIG, or by selecting those
must-have pieces of infrastructure.

Thanks,

Ingo