diff options
author | Chao Gao <chao.gao@intel.com> | 2022-11-30 23:09:24 +0000 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2022-12-29 15:48:31 -0500 |
commit | c82a5c5c53c5b732a9610736841a117373e43adb (patch) | |
tree | a3a987296de3c3962e7b85b518cafa4425c348aa /io_uring | |
parent | d83420c2d74e660f207a708f6574e952652a4698 (diff) | |
download | lwn-c82a5c5c53c5b732a9610736841a117373e43adb.tar.gz lwn-c82a5c5c53c5b732a9610736841a117373e43adb.zip |
KVM: x86: Do compatibility checks when onlining CPU
Do compatibility checks when enabling hardware to effectively add
compatibility checks when onlining a CPU. Abort enabling, i.e. the
online process, if the (hotplugged) CPU is incompatible with the known
good setup.
At init time, KVM does compatibility checks to ensure that all online
CPUs support hardware virtualization and a common set of features. But
KVM uses hotplugged CPUs without such compatibility checks. On Intel
CPUs, this leads to #GP if the hotplugged CPU doesn't support VMX, or
VM-Entry failure if the hotplugged CPU doesn't support all features
enabled by KVM.
Note, this is little more than a NOP on SVM, as SVM already checks for
full SVM support during hardware enabling.
Opportunistically add a pr_err() if setup_vmcs_config() fails, and
tweak all error messages to output which CPU failed.
Signed-off-by: Chao Gao <chao.gao@intel.com>
Co-developed-by: Sean Christopherson <seanjc@google.com>
Signed-off-by: Sean Christopherson <seanjc@google.com>
Acked-by: Kai Huang <kai.huang@intel.com>
Message-Id: <20221130230934.1014142-41-seanjc@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'io_uring')
0 files changed, 0 insertions, 0 deletions