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);