[PATCH 1/2] powerpc/64s: remplement power4_idle code in C

Nicholas Piggin npiggin at gmail.com
Mon Aug 19 23:07:26 AEST 2019


Michael Ellerman's on August 18, 2019 1:49 pm:
> Nicholas Piggin <npiggin at gmail.com> writes:
>> diff --git a/arch/powerpc/kernel/exceptions-64s.S b/arch/powerpc/kernel/exceptions-64s.S
>> index eee5bef736c8..64d5ffbb07d1 100644
>> --- a/arch/powerpc/kernel/exceptions-64s.S
>> +++ b/arch/powerpc/kernel/exceptions-64s.S
>> @@ -2286,15 +2286,6 @@ USE_FIXED_SECTION(virt_trampolines)
>>  __end_interrupts:
>>  DEFINE_FIXED_SYMBOL(__end_interrupts)
>>  
>> -#ifdef CONFIG_PPC_970_NAP
>> -EXC_COMMON_BEGIN(power4_fixup_nap)
>> -	andc	r9,r9,r10
>> -	std	r9,TI_LOCAL_FLAGS(r11)
>> -	ld	r10,_LINK(r1)		/* make idle task do the */
>> -	std	r10,_NIP(r1)		/* equivalent of a blr */
>> -	blr
>> -#endif
> 
> This breaks ppc64_defconfig build with:
> 
> ERROR: start_text address is c000000000008100, should be c000000000008000
> 
> Due to:
> 
> c000000000008000 <0000001a.long_branch.power4_fixup_nap>:
> c000000000008000:       48 03 5a b4     b       c00000000003dab4 <power4_fixup_nap>
> 
> 
> Moving power4_fixup_nap back into exceptions-64s.S seems to fix it.

Okay that should be fine if you can update it.

Thanks,
Nick


More information about the Linuxppc-dev mailing list