On 02/28/2013 10:51:10 AM, Alexander Graf wrote:
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.
That would be fine.
-Scott
--
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