Il 30/07/2013 16:57, Arthur Chunqi Li ha scritto: > On Tue, Jul 30, 2013 at 10:53 PM, Paolo Bonzini <pbonzini@xxxxxxxxxx> wrote: >> Il 28/07/2013 16:00, Arthur Chunqi Li ha scritto: >>> + >>> + while (1) { >>> + asm volatile ( >>> + "mov %%rsp, %%rsi\n\t" >>> + "mov %2, %%rdi\n\t" >>> + "vmwrite %%rsi, %%rdi\n\t" >>> + >>> + LOAD_GPR_C >>> + "cmpl $0, %1\n\t" >>> + "jne 1f\n\t" >>> + LOAD_RFLAGS >>> + "vmlaunch\n\t" >>> + "jmp 2f\n\t" >>> + "1: " >>> + "vmresume\n\t" >>> + "2: " >>> + "setbe %0\n\t" >> >> Perhaps here add >> >> jbe vmx_return >> ud2 >> >> but it can be added in a follow-up. >> >>> + "vmx_return:\n\t" >>> + SAVE_GPR_C >>> + SAVE_RFLAGS >>> + : "=m"(fail) >>> + : "m"(launched), "i"(HOST_RSP) >>> + : "rdi", "rsi", "memory", "cc" >>> + >>> + ); >> >> Nice! :) >> >> I pushed the patch. > Hi Paolo, > Slow down pushing it. There's something wrong with host_rflags > handling. I will commit another version as well as your suggestion, > you could push that version. Well, too late... anyway I prefer follow-up patches because they make the differences clearer. With a single 1200-line patch it is a bit complicated to follow. Paolo -- 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