On 04.11.2021 15:21, Roger Pau Monné wrote: > On Wed, Nov 03, 2021 at 03:40:55PM +0100, Jan Beulich wrote: >> While commit XXXXXXXXXXXX ("x86/IOMMU: mark IOMMU / intremap not in use >> when ACPI tables are missing") deals with apic_x2apic_probe() as called >> from x2apic_bsp_setup(), the check_x2apic_preenabled() path is similarly >> affected: The call needs to occur after acpi_boot_init() (which is what >> calls acpi_iommu_init()), such that iommu_intremap getting disabled >> there can be properly taken into account by apic_x2apic_probe(). >> >> Signed-off-by: Jan Beulich <jbeul...@suse.com> > > LGTM. I cannot find any dependency between acpi_boot_init and having > initialized the apic.
Sadly there is, and I've now learned that when believing I would test the change yesterday I actually didn't (or else I would have spotted the problem that I've spotted now), and instead I did boot an older binary: acpi_process_madt() calls clustered_apic_check() and hence relies on genapic to have got filled before. I'll have to see if I can come up with some variant avoiding the issue, but I suspect that's not going to be 4.16 material anymore then. My first try is likely going to be to simply pull out acpi_iommu_init() from acpi_boot_init(). Jan