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. ~Andrew _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel