On 28.02.2013, at 17:31, Scott Wood wrote: > On 02/27/2013 10:13:15 PM, Bharat Bhushan wrote: >> Instruction emulation return EMULATE_DO_PAPR when it requires >> exit to userspace on book3s. Similar return is required >> for booke. EMULATE_DO_PAPR reads out to be confusing so it is >> renamed to EMULATE_EXIT_USER. >> Signed-off-by: Bharat Bhushan <bharat.bhushan@xxxxxxxxxxxxx> >> --- >> arch/powerpc/include/asm/kvm_ppc.h | 2 +- >> arch/powerpc/kvm/book3s_emulate.c | 2 +- >> arch/powerpc/kvm/book3s_pr.c | 2 +- >> 3 files changed, 3 insertions(+), 3 deletions(-) >> diff --git a/arch/powerpc/include/asm/kvm_ppc.h b/arch/powerpc/include/asm/kvm_ppc.h >> index 44a657a..8b81468 100644 >> --- a/arch/powerpc/include/asm/kvm_ppc.h >> +++ b/arch/powerpc/include/asm/kvm_ppc.h >> @@ -44,7 +44,7 @@ enum emulation_result { >> EMULATE_DO_DCR, /* kvm_run filled with DCR request */ >> EMULATE_FAIL, /* can't emulate this instruction */ >> EMULATE_AGAIN, /* something went wrong. go again */ >> - EMULATE_DO_PAPR, /* kvm_run filled with PAPR request */ >> + EMULATE_EXIT_USER, /* emulation requires exit to user-space */ >> }; >> extern int kvmppc_vcpu_run(struct kvm_run *kvm_run, struct kvm_vcpu *vcpu); >> diff --git a/arch/powerpc/kvm/book3s_emulate.c b/arch/powerpc/kvm/book3s_emulate.c >> index 836c569..cdd19d6 100644 >> --- a/arch/powerpc/kvm/book3s_emulate.c >> +++ b/arch/powerpc/kvm/book3s_emulate.c >> @@ -194,7 +194,7 @@ int kvmppc_core_emulate_op(struct kvm_run *run, struct kvm_vcpu *vcpu, >> run->papr_hcall.args[i] = gpr; >> } >> - emulated = EMULATE_DO_PAPR; >> + emulated = EMULATE_EXIT_USER; >> break; >> } >> #endif >> diff --git a/arch/powerpc/kvm/book3s_pr.c b/arch/powerpc/kvm/book3s_pr.c >> index 73ed11c..8df2d2d 100644 >> --- a/arch/powerpc/kvm/book3s_pr.c >> +++ b/arch/powerpc/kvm/book3s_pr.c >> @@ -760,7 +760,7 @@ program_interrupt: >> run->exit_reason = KVM_EXIT_MMIO; >> r = RESUME_HOST_NV; >> break; >> - case EMULATE_DO_PAPR: >> + case EMULATE_EXIT_USER: >> run->exit_reason = KVM_EXIT_PAPR_HCALL; >> vcpu->arch.hcall_needed = 1; >> r = RESUME_HOST_NV; > > I don't think it makes sense to genericize this. It makes sense if the run->exit_reason = ... and hcall_needed = ... lines get pulled into the emulator. The question is basically whether we want to have another layer of abstraction inside our own emulator / kvm interface. I don't have a strong feeling either way. Alex > It means more than just "return to user"; it indicates what sort of exit reason should be passed back. What if book3s later wants to be able to return KVM_EXIT_DEBUG, or we want to have userspace-handled hcalls on booke? > > -Scott > -- > To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- 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