[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] x86emul: don't allow INVLPG in real mode

On 22/04/16 15:17, Jan Beulich wrote:
> As both INVLPG and INVLPGA have basically the same exception rules
> (leaving aside that INVLPGA requires SVME enabled, which so far isn't
> being taken care of,

We also don't appear to handle the ASID in %ecx correctly either.  Yet
another item on the TODO list for nested virt.

>  and that INVLPG requires ModRM.mod != 3), fold
> the handling of the two as much as possible alongside achieving the
> goal of the patch (at once doing the #UD checks pror to the #GP one,
> which ought to be more in line with how hardware does things).
> But please note that AMD and Intel disagree on what exceptions INVLPG
> may raise, and the more reasonable Intel variant is being followed.

Which differences?

You introduce the !in_protmode() check to the `invlpg` path.  However,
both manuals agree that it should work in real mode (subject to the lock
prefix not being in use).  I presume the difference is to whether it is
eligible for use in vm86 mode, where indeed Intel is stricter than AMD.


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.