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

Re: [Xen-devel] [PATCH] xen svm: fix PAUSE instruction intercept



On Thursday 12 August 2010 12:07:54 Jan Beulich wrote:
> >>> On 12.08.10 at 11:22, Christoph Egger <Christoph.Egger@xxxxxxx> wrote:
> >
> > In svm_vmexit_do_pause() update the instruction pointer.
> > This fixes strange PAUSE intercepts on UP guests.
>
> This won't work when the instruction needs to actually be decoded:
> __get_instruction_length_from_list() strips all prefix bytes from
> the byte stream being decoded, and since 'pause' uses a prefix the
> actual opcode comparison will never produce a match.

Thank you for pointing this out. New attached version fixes this.

Signed-off-by: Christoph Egger <Christoph.Egger@xxxxxxx>

> Even in the case that CPUs supporting the pause filter would always
> support nextrip I think that the special case minimally deserves a
> code comment to that effect, but perhaps even warrants an
> ASSERT() or BUG_ON().

This is true for real hardware but not necessarily when it comes
to nested virtualization, because you emulate SVM features
in software.

Christoph


-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85609 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632

Attachment: xen_pausefilter.diff
Description: Text Data

_______________________________________________
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®.