On Mon, Nov 11, 2024 at 10:36:16AM -0800, Sean Christopherson wrote: > E.g. for x86, something like: > > #if IS_MODULE(CONFIG_KVM_AMD) && IS_MODULE(CONFIG_KVM_INTEL) > #define KVM_VENDOR_MODULES kvm-amd,kvm-intel > #elif IS_MODULE(CONFIG_KVM_AMD) > #define KVM_VENDOR_MODULES kvm-amd > #elif IS_MODULE(CONFIG_KVM_INTEL) > #define KVM_VENDOR_MODULES kvm-intel > #else > #undef KVM_VENDOR_MODULES > #endif > > #ifdef KVM_VENDOR_MODULES > static_assert(IS_MODULE(CONFIG_KVM_X86)); > > #define EXPORT_SYMBOL_GPL_FOR_KVM_INTERNAL(symbol) \ > EXPORT_SYMBOL_GPL_FOR(symbol, __stringify(KVM_VENDOR_MODULES)) > #define EXPORT_SYMBOL_GPL_FOR_KVM(symbol) \ > EXPORT_SYMBOL_GPL_FOR(symbol, "kvm," __stringify(KVM_VENDOR_MODULES)) > #else > EXPORT_SYMBOL_GPL_FOR_KVM_INTERNAL(symbol) > EXPORT_SYMBOL_GPL_FOR_KVM(symbol) > #endif I see no problem with KVM doing something like this on top of whatever we end up with.