[PATCH v2 1/9] powerpc/powernv: Move CHECK_HMI_INTERRUPT to exception-64s header

Shreyas B Prabhu shreyas at linux.vnet.ibm.com
Wed May 18 17:21:47 AEST 2016



On 05/18/2016 10:05 AM, Gautham R Shenoy wrote:
> On Tue, May 03, 2016 at 01:54:30PM +0530, Shreyas B. Prabhu wrote:
>> CHECK_HMI_INTERRUPT is used to check for HMI's in reset vector. Move
>> the macro to a common location (exception-64s.h)
>> This patch does not change any functionality.
>>
> 
> I suppose this code movement is to facilitate the invocation of
> CHECK_HMI_INTERRUPT in some later patch ? In this case you could
> add this to the commit message.
> 

Ok. I'll do that.

> Otherwise,
> Reviewed-by: Gautham R. Shenoy <ego at linux.vnet.ibm.com>

Thanks for the review.
>> ---
>>  arch/powerpc/include/asm/exception-64s.h | 18 ++++++++++++++++++
>>  arch/powerpc/kernel/idle_power7.S        | 20 +-------------------
>>  2 files changed, 19 insertions(+), 19 deletions(-)
>>
>> diff --git a/arch/powerpc/include/asm/exception-64s.h b/arch/powerpc/include/asm/exception-64s.h
>> index 93ae809..6a625af 100644
>> --- a/arch/powerpc/include/asm/exception-64s.h
>> +++ b/arch/powerpc/include/asm/exception-64s.h
>> @@ -545,4 +545,22 @@ END_FTR_SECTION_IFSET(CPU_FTR_CAN_NAP)
>>  #define FINISH_NAP
>>  #endif
>>
>> +#define CHECK_HMI_INTERRUPT						\
>> +	mfspr	r0,SPRN_SRR1;						\
>> +BEGIN_FTR_SECTION_NESTED(66);						\
>> +	rlwinm	r0,r0,45-31,0xf;  /* extract wake reason field (P8) */	\
>> +FTR_SECTION_ELSE_NESTED(66);						\
>> +	rlwinm	r0,r0,45-31,0xe;  /* P7 wake reason field is 3 bits */	\
>> +ALT_FTR_SECTION_END_NESTED_IFSET(CPU_FTR_ARCH_207S, 66);		\
>> +	cmpwi	r0,0xa;			/* Hypervisor maintenance ? */	\
>> +	bne	20f;							\
>> +	/* Invoke opal call to handle hmi */				\
>> +	ld	r2,PACATOC(r13);					\
>> +	ld	r1,PACAR1(r13);						\
>> +	std	r3,ORIG_GPR3(r1);	/* Save original r3 */		\
>> +	li	r0,OPAL_HANDLE_HMI;	/* Pass opal token argument*/	\
>> +	bl	opal_call_realmode;					\
>> +	ld	r3,ORIG_GPR3(r1);	/* Restore original r3 */	\
>> +20:	nop;
>> +
>>  #endif	/* _ASM_POWERPC_EXCEPTION_H */
>> diff --git a/arch/powerpc/kernel/idle_power7.S b/arch/powerpc/kernel/idle_power7.S
>> index 470ceeb..6b3404b 100644
>> --- a/arch/powerpc/kernel/idle_power7.S
>> +++ b/arch/powerpc/kernel/idle_power7.S
>> @@ -19,6 +19,7 @@
>>  #include <asm/kvm_book3s_asm.h>
>>  #include <asm/opal.h>
>>  #include <asm/cpuidle.h>
>> +#include <asm/exception-64s.h>
>>  #include <asm/book3s/64/mmu-hash.h>
>>
>>  #undef DEBUG
>> @@ -257,25 +258,6 @@ _GLOBAL(power7_winkle)
>>  	b	power7_powersave_common
>>  	/* No return */
>>
>> -#define CHECK_HMI_INTERRUPT						\
>> -	mfspr	r0,SPRN_SRR1;						\
>> -BEGIN_FTR_SECTION_NESTED(66);						\
>> -	rlwinm	r0,r0,45-31,0xf;  /* extract wake reason field (P8) */	\
>> -FTR_SECTION_ELSE_NESTED(66);						\
>> -	rlwinm	r0,r0,45-31,0xe;  /* P7 wake reason field is 3 bits */	\
>> -ALT_FTR_SECTION_END_NESTED_IFSET(CPU_FTR_ARCH_207S, 66);		\
>> -	cmpwi	r0,0xa;			/* Hypervisor maintenance ? */	\
>> -	bne	20f;							\
>> -	/* Invoke opal call to handle hmi */				\
>> -	ld	r2,PACATOC(r13);					\
>> -	ld	r1,PACAR1(r13);						\
>> -	std	r3,ORIG_GPR3(r1);	/* Save original r3 */		\
>> -	li	r0,OPAL_HANDLE_HMI;	/* Pass opal token argument*/	\
>> -	bl	opal_call_realmode;					\
>> -	ld	r3,ORIG_GPR3(r1);	/* Restore original r3 */	\
>> -20:	nop;
>> -
>> -
>>  _GLOBAL(power7_wakeup_tb_loss)
>>  	ld	r2,PACATOC(r13);
>>  	ld	r1,PACAR1(r13)
>> -- 
>> 2.4.11
>>



More information about the Linuxppc-dev mailing list