> >> IIUC, L1 KVM can inject a nested exception whose vector isn't #DB, or
> >> #NM or #PF with a non-zero event_data to L2.
> >
> >No, this is not allowed.
>
> How do you interpret the last sentence:
>
> Section 5.2.1 specifies the event data that FRED event delivery of
> certain eve
>> >> >+default:
>> >> >+WARN_ON(event_data != 0);
>> >>
>> >> I am not sure if this WARN_ON() can be triggeded by nested VMX. It is
>> >> legitimate for L1 VMM to inject any event w/ an event_data.
>> >>
>> >> FRED spec says:
>> >>
>> >> Sect
> >> >+ else if (is_nm_fault(intr_info) &&
> >> >+ vcpu->arch.guest_fpu.fpstate->xfd)
> >>
> >> does this necessarily mean the #NM is caused by XFD?
> >
> >Then the event data should be 0. Or I missed something obvious? I.e.,
> >it can be easily differentia
On Tue, Nov 14, 2023 at 12:34:02PM +0800, Li, Xin3 wrote:
>> >+ else if (is_nm_fault(intr_info) &&
>> >+vcpu->arch.guest_fpu.fpstate->xfd)
>>
>> does this necessarily mean the #NM is caused by XFD?
>
>Then the event data should be 0. Or I missed somet
> >+else if (is_nm_fault(intr_info) &&
> >+ vcpu->arch.guest_fpu.fpstate->xfd)
>
> does this necessarily mean the #NM is caused by XFD?
Then the event data should be 0. Or I missed something obvious? I.e.,
it can be easily differentiated and we sho
On Wed, Nov 08, 2023 at 10:29:52AM -0800, Xin Li wrote:
>Set injected-event data when injecting a #PF, #DB, or #NM caused
>by extended feature disable using FRED event delivery, and save
>original-event data for being used as injected-event data.
>
>Unlike IDT using some extra CPU register as part
Set injected-event data when injecting a #PF, #DB, or #NM caused
by extended feature disable using FRED event delivery, and save
original-event data for being used as injected-event data.
Unlike IDT using some extra CPU register as part of an event
context, e.g., %cr2 for #PF, FRED saves a complet