Messages in this thread | | | Date | Mon, 8 Apr 2024 11:16:24 +0800 | Subject | Re: [PATCH v19 091/130] KVM: TDX: remove use of struct vcpu_vmx from posted_interrupt.c | From | Binbin Wu <> |
| |
On 3/29/2024 5:10 AM, Isaku Yamahata wrote: > On Thu, Mar 28, 2024 at 04:12:36PM +0800, > Chao Gao <chao.gao@intel.com> wrote: > >>> } >>> >>> void vmx_vcpu_pi_put(struct kvm_vcpu *vcpu) >>> @@ -200,7 +222,8 @@ void vmx_vcpu_pi_put(struct kvm_vcpu *vcpu) >>> if (!vmx_needs_pi_wakeup(vcpu)) >>> return; >>> >>> - if (kvm_vcpu_is_blocking(vcpu) && !vmx_interrupt_blocked(vcpu)) >>> + if (kvm_vcpu_is_blocking(vcpu) && >>> + (is_td_vcpu(vcpu) || !vmx_interrupt_blocked(vcpu))) >> Ditto. >> >> This looks incorrect to me. here we assume interrupt is always enabled for TD. >> But on TDVMCALL(HLT), the guest tells KVM if hlt is called with interrupt >> disabled. KVM can just check that interrupt status passed from the guest. > That's true. We can complicate this function and HLT emulation. But I don't > think it's worthwhile because HLT with interrupt masked is rare. Only for > CPU online. Then, it's better to add some comments?
| |