On Tue, Jul 27, 2021 at 03:54:40PM -0600, Alex Williamson wrote: > I'm still not happy with how this is likely to break users and even > downstreams when upgrading to a Kconfig with this change. I've never heard of Kconfig as stable ABI. Christoph/Arnd, have you heard of any cases where we want to keep it stable? As far as I know we should change kconfig to keep it working properly, eg by having correct menu structure and sane kconfig names. In any event, upgrades work in a reasonable way. Starting from this .config fragment: CONFIG_VFIO_IOMMU_TYPE1=y CONFIG_VFIO_VIRQFD=y CONFIG_VFIO=y CONFIG_VFIO_NOIOMMU=y CONFIG_VFIO_PCI=y CONFIG_VFIO_PCI_VGA=y CONFIG_VFIO_PCI_MMAP=y CONFIG_VFIO_PCI_INTX=y CONFIG_VFIO_PCI_IGD=y CONFIG_VFIO_PLATFORM=y CONFIG_VFIO_AMBA=y CONFIG_VFIO_PLATFORM_CALXEDAXGMAC_RESET=y CONFIG_VFIO_PLATFORM_AMDXGBE_RESET=y CONFIG_VFIO_PLATFORM_BCMFLEXRM_RESET=y CONFIG_VFIO_MDEV=y CONFIG_VFIO_FSL_MC=y CONFIG_IRQ_BYPASS_MANAGER=y Which might reasonably be from an old kernel. 'make oldconfig' prompts: VFIO Non-Privileged userspace driver framework (VFIO) [Y/n/m/?] y VFIO No-IOMMU support (VFIO_NOIOMMU) [Y/n/?] y VFIO support for PCI devices (VFIO_PCI_CORE) [N/m/y/?] (NEW) Which is completely fine, IMHO. The menu structure ends up looking like this, which is pretty good: --- VFIO Non-Privileged userspace driver framework [*] VFIO No-IOMMU support <*> VFIO support for PCI devices <*> Generic VFIO support for any PCI device [*] Generic VFIO PCI support for VGA devices [*] Generic VFIO PCI extensions for Intel graphics (GVT-d) <*> VFIO support for MLX5 PCI devices (NEW) <*> VFIO support for platform devices <*> VFIO support for AMBA devices <*> VFIO support for calxeda xgmac reset <*> VFIO support for AMD XGBE reset <*> VFIO support for Broadcom FlexRM reset <*> Mediated device driver framework <*> VFIO support for QorIQ DPAA2 fsl-mc bus devices Jason