On 19 May 2014 10:28, Marc Zyngier <marc.zyngier@xxxxxxx> wrote: > If you look carefully at patch #8 (last hunk of the patch), you'll see > that I always reset the debug state to "clean" at the end of a guest > run: > > @@ -609,6 +1040,12 @@ __kvm_vcpu_return: > > bl __restore_sysregs > bl __restore_fpsimd > + > + skip_clean_debug_state x3, 1f > + // Clear the dirty flag for the next run > + str xzr, [x0, #VCPU_DEBUG_FLAGS] > + bl __restore_debug > +1: > restore_host_regs > > mov x0, x1 > > This ensures that the guest's debug state will only be reloaded if: > > - MDSCR_EL1 has either MDE or KDE set (which means the guest is actively > using the debug infrastructure) > - or the guest has written to a trapped register (which marks the state > as dirty). Do we also handle the case where the guest didn't write to the trapped register but userspace did (via the SET_ONE_REG API)? Maybe this just falls out in the wash or is handled already... thanks -- PMM -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html