On 25.02.2012, at 00:33, Scott Wood wrote:

> On 02/24/2012 08:26 AM, Alexander Graf wrote:
>> When during guest context we get a performance monitor interrupt, we
>> currently bail out and oops. Let's route it to its correct handler
>> instead.
>> 
>> Signed-off-by: Alexander Graf <ag...@suse.de>
>> ---
>> arch/powerpc/kvm/booke.c |    4 ++++
>> 1 files changed, 4 insertions(+), 0 deletions(-)
>> 
>> diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm/booke.c
>> index 7adef28..423701b 100644
>> --- a/arch/powerpc/kvm/booke.c
>> +++ b/arch/powerpc/kvm/booke.c
>> @@ -677,6 +677,10 @@ int kvmppc_handle_exit(struct kvm_run *run, struct 
>> kvm_vcpu *vcpu,
>>              r = RESUME_GUEST;
>>              break;
>> 
>> +    case BOOKE_INTERRUPT_PERFORMANCE_MONITOR:
>> +            r = RESUME_GUEST;
>> +            break;
>> +
>>      case BOOKE_INTERRUPT_HV_PRIV:
>>              r = emulation_exit(run, vcpu);
>>              break;
> 
> Why do we need to call timer_interrupt() explicitly, but can rely on
> automatic retriggering for perfmon?

We don't rely on automatic retriggering for perfmon. There are 2 different 
places where we need to handle an incoming exit code - the "reinject" code path 
and the "big switch over all exits" code path. This one deals with the latter.


Alex

--
To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to