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

Michael Ellerman mpe at ellerman.id.au
Sun Aug 18 13:49:03 AEST 2019


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.

cheers


More information about the Linuxppc-dev mailing list