Messages in this thread | | | Date | Thu, 7 Apr 2022 14:12:28 +0200 | Subject | Re: [RFC PATCH v5 101/104] KVM: TDX: Silently ignore INIT/SIPI | From | Paolo Bonzini <> |
| |
On 4/7/22 13:09, Xiaoyao Li wrote: > On 4/5/2022 11:48 PM, Paolo Bonzini wrote: >> On 3/4/22 20:49, isaku.yamahata@intel.com wrote: >>> + if (kvm_init_sipi_unsupported(vcpu->kvm)) >>> + /* >>> + * TDX doesn't support INIT. Ignore INIT event. In the >>> + * case of SIPI, the callback of >>> + * vcpu_deliver_sipi_vector ignores it. >>> + */ >>> vcpu->arch.mp_state = KVM_MP_STATE_RUNNABLE; >>> - else >>> - vcpu->arch.mp_state = KVM_MP_STATE_INIT_RECEIVED; >>> + else { >>> + kvm_vcpu_reset(vcpu, true); >>> + if (kvm_vcpu_is_bsp(apic->vcpu)) >>> + vcpu->arch.mp_state = KVM_MP_STATE_RUNNABLE; >>> + else >>> + vcpu->arch.mp_state = KVM_MP_STATE_INIT_RECEIVED; >>> + } >> >> Should you check vcpu->arch.guest_state_protected instead of >> special-casing TDX? > > We cannot use vcpu->arch.guest_state_protected because TDX supports > debug TD, of which the states are not protected. > > At least we need another flag, I think.
Let's add .deliver_init to the kvm_x86_ops then.
Paolo
| |