]> xenbits.xensource.com Git - xen.git/commit
radix-tree: introduce RADIX_TREE{,_INIT}()
authorJan Beulich <jbeulich@suse.com>
Fri, 7 Feb 2025 09:00:04 +0000 (10:00 +0100)
committerJan Beulich <jbeulich@suse.com>
Fri, 7 Feb 2025 09:00:04 +0000 (10:00 +0100)
commit26fe09e34566d701ecaea76b4563bb9934e85861
treee00f43fc67e76cd5ef4913f3b110ee1eb43651b3
parent1275093a96fed45057db241b3aa6e191d9dcf596
radix-tree: introduce RADIX_TREE{,_INIT}()

... now that static initialization is possible. Use RADIX_TREE() for
pci_segments and ivrs_maps.

This then fixes an ordering issue on x86: With the call to
radix_tree_init(), acpi_mmcfg_init()'s invocation of pci_segments_init()
will zap the possible earlier introduction of segment 0 by
amd_iommu_detect_one_acpi()'s call to pci_ro_device(), and thus the
write-protection of the PCI devices representing AMD IOMMUs.

Fixes: 3950f2485bbc ("x86/x2APIC: defer probe until after IOMMU ACPI table parsing")
Requested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Release-Acked-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>
xen/common/radix-tree.c
xen/drivers/passthrough/amd/iommu_init.c
xen/drivers/passthrough/pci.c
xen/include/xen/radix-tree.h