[PATCH 3/3] KVM: PPC: Book3S: 64-bit CONFIG_RELOCATABLE support for interrupts

Michael Ellerman mpe at ellerman.id.au
Tue Jan 31 19:17:57 AEDT 2017


Paul Mackerras <paulus at ozlabs.org> writes:

> On Thu, Dec 22, 2016 at 04:29:27AM +1000, Nicholas Piggin wrote:
>> diff --git a/arch/powerpc/kvm/book3s_hv_rmhandlers.S b/arch/powerpc/kvm/book3s_hv_rmhandlers.S
>> index 11882aac8216..c18ce740452b 100644
>> --- a/arch/powerpc/kvm/book3s_hv_rmhandlers.S
>> +++ b/arch/powerpc/kvm/book3s_hv_rmhandlers.S
>> @@ -1151,7 +1152,11 @@ END_FTR_SECTION_IFSET(CPU_FTR_HAS_PPR)
>>  11:	stw	r3,VCPU_HEIR(r9)
>>  
>>  	/* these are volatile across C function calls */
>> +#ifdef CONFIG_RELOCATABLE
>> +	ld	r3, HSTATE_SCRATCH1(r13)
>
> The problem is here.  Depending on what sort of interrupt it is, we
> can end up going back to the guest via fast_guest_return, which
> doesn't reload CTR.  Adding
>
> 	mtctr	r3
>
> at this point makes things work.

I folded this in.

cheers


More information about the Linuxppc-dev mailing list