Re: [RFC PATCH 00/35] SEV-ES hypervisor support
From: Tom Lendacky
Date: Mon Nov 30 2020 - 11:07:35 EST
On 11/30/20 9:31 AM, Paolo Bonzini wrote:
> 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?
SEV-SNP has support for restricting injections, but SEV-ES does not.
Perhaps a new boolean, guest_restricted_injection, can be used instead of
basing it on guest_state_protected.
Thanks,
Tom
>
> Paolo
>