vmbus: Print a warning when enabled without the recommended set of features

Some Windows versions crash at boot or fail to enable the VMBus device if
they don't see the expected set of Hyper-V features (enlightenments).

Since this provides poor user experience let's warn user if the VMBus
device is enabled without the recommended set of Hyper-V features.

The recommended set is the minimum set of Hyper-V features required to make
the VMBus device work properly in Windows Server versions 2016, 2019 and
2022.

Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Maciej S. Szmigiero <maciej.szmigiero@oracle.com>
This commit is contained in:
Maciej S. Szmigiero 2024-01-25 15:12:41 +01:00
parent 546987284a
commit 6093637b4d
7 changed files with 40 additions and 0 deletions

View file

@ -1650,6 +1650,13 @@ static int hyperv_init_vcpu(X86CPU *cpu)
}
}
/* Skip SynIC and VP_INDEX since they are hard deps already */
if (hyperv_feat_enabled(cpu, HYPERV_FEAT_STIMER) &&
hyperv_feat_enabled(cpu, HYPERV_FEAT_VAPIC) &&
hyperv_feat_enabled(cpu, HYPERV_FEAT_RUNTIME)) {
hyperv_x86_set_vmbus_recommended_features_enabled();
}
return 0;
}