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

Re: [Xen-devel] AMD VMMCALL and VM86 mode



On 09/12/16 19:55, Andrew Cooper wrote:
> On 09/12/16 19:55, Boris Ostrovsky wrote:
>> On 12/09/2016 02:01 PM, Andrew Cooper wrote:
>>> Hello,
>>>
>>> While working on XSA-192, I found a curious thing.  On AMD hardware, the
>>> VMMCALL instruction appears to behave like a nop if executed in VM86
>>> mode.  All other processor modes work fine.
>>>
>>> The documentation suggests it should be valid in any situation, but I
>>> never get a #VMEXIT from it. 
>> And I assume GENERAL2_INTERCEPT_VMMCALL is set (which is what we have in
>> Xen by default)?
> Yes, because I have already used hypercalls to get text to the console
> before entering vm86 mode.
>
>> What happens if you don't set it?
> Let me do some hacking and see.

Outside of vm86 mode, VMMCALL raises #UD, which is expected as it wasn't
intercepted.

From within vm86 mode, I now get #GP rather than #UD.

There is certainly an argument to be made that VMMCALL inside vm86 mode
should trap to the vm86 monitor and #GP would be the expected way of
that happening, but this also doesn't match the documentation.

~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

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