On 02/11/18 16:45, Jan Beulich wrote:
> This is a check explicitly listed by the instruction page in the SDM.
>
> Signed-off-by: Jan Beulich <[email protected]>
Hmm - looking at the listing, I think we've got an IOPL mismatch. This
behaviour, as well as the VIP adjustment in context, only apply at IOPL < 3.
~Andrew
>
> --- a/xen/arch/x86/x86_emulate/x86_emulate.c
> +++ b/xen/arch/x86/x86_emulate/x86_emulate.c
> @@ -4049,6 +4049,7 @@ x86_emulate(
> dst.val = (uint16_t)dst.val | (_regs.eflags & 0xffff0000u);
> if ( cr4 & X86_CR4_VME )
> {
> + generate_exception_if(dst.val & X86_EFLAGS_TF, EXC_GP, 0);
> if ( dst.val & X86_EFLAGS_IF )
> {
> generate_exception_if(_regs.eflags & X86_EFLAGS_VIP,
>
>
_______________________________________________
Xen-devel mailing list
[email protected]
https://lists.xenproject.org/mailman/listinfo/xen-devel