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

Re: [Xen-devel] [PATCH] Calculate correct instruction length for data-fault VM exits on VT-x systems



On 28 Apr 2006, at 02:52, Khoa Huynh wrote:

It should be noted that VMX only uses this instrlen
function when the hypervisor needs the instruction-length
info and that info is undefined in VMCS, e.g., for MMIO
instructions.  In other cases where the instruction-length
field is valid in VMCS, the hypervisor continues to get
that info from VMCS (via vmread operation).
I don't believe we need the instruction-length at all, and I suspect 
that the decoder could be removed from hvm/svm entirely. There are two 
broad categories of instruction I'm thinking of:
 1. Instructions with their own VMEXIT reason code tend to be really 
simple so we know their length anyway and, if not, the instr-length 
field should be valid
 2. For mmio instructions, the emulator can work out the length for 
itself and increment eip appropriately. There's no need to know the 
instruction length in advance of invoking the emulator.
I guess there may be one or two instructions, particularly on AMD, 
where we aren't feeding the instruction to the mmio emulator and the 
instruction isn't fixed length, so perhaps we'll need a small decoder 
in hvm/svm for those. But even if so, it could be much simpler than 
what is there right now.
 -- Keir


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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