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

Re: [Xen-devel] [PATCH V2] x86/emulate: synchronize LOCKed instruction emulation



On 03/23/2017 06:20 PM, Jan Beulich wrote:
>>>> On 23.03.17 at 16:54, <rcojocaru@xxxxxxxxxxxxxxx> wrote:
>> I'm not sure where to go from here.
> 
> Well, without finding where things start to go wrong, I don't think
> we can make any progress here. Finding that may admittedly be
> a rather tedious process.

I may have stumbled across a clue: hvm_emulate_one_vm_event() currently
does nothing when hvm_emulate_one() returns RETRY. This was fine before,
but if the cmpxchg hook can propagate RETRY upwards, a failed emulation
attempt causes the guest to retry the instruction, generate another
page-fault, and so on.

I've now wrapped the body of hvm_emulate_one_vm_event() in a do { /* ...
*/ } while ( rc == X86EMUL_RETRY ); and my guest seems to be booting. At
this point I'm not sure if this is the best solution (should I just
retry indefinitely until it succeeds?) or if this is just luck, but it
at least feels like a step in the right direction.


Thanks,
Razvan


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