On 16/09/20 02:19, Sean Christopherson wrote:

TDX also selectively blocks/skips portions of other ioctl()s so that the
TDX code itself can yell loudly if e.g. .get_cpl() is invoked.  The event
injection restrictions are due to direct injection not being allowed (except
for NMIs); all IRQs have to be routed through APICv (posted interrupts) and
exception injection is completely disallowed.

   kvm_vcpu_ioctl_x86_get_vcpu_events:
        if (!vcpu->kvm->arch.guest_state_protected)
                events->interrupt.shadow = 
kvm_x86_ops.get_interrupt_shadow(vcpu);

Perhaps an alternative implementation can enter the vCPU with immediate exit until no events are pending, and then return all zeroes?

Paolo

Reply via email to