Hi Paolo, On 29/05/14 11:36, Paolo Bonzini wrote: > Il 29/05/2014 11:16, James Hogan ha scritto: >> Currently this is the only asynchronous modification of guest registers, >> therefore it is fixed by adjusting the implementations of the >> kvm_set_c0_guest_cause(), kvm_clear_c0_guest_cause(), and >> kvm_change_c0_guest_cause() macros which are used for modifying the >> guest CP0_Cause register to use ll/sc to ensure atomic modification. > > Shouldn't you have a loop too around the ll/sc? Yes, it has a do {} while () look around the inline asm, although I didn't mention it in the commit message. It's modelled on arch/mips/include/asm/bitops.h. Cheers James