MPC5200 does not boot

Michal Sojka sojkam1 at
Wed Aug 10 20:52:57 AEST 2016

Hi all,

my MPC5200 still does not boot even with the fix bellow applied. I dug a
bit into it and now it seems that commit
309b315b6ec686ce050758cc4e29f6ad1125a83f is to blame.

commit 309b315b6ec686ce050758cc4e29f6ad1125a83f
Author: Aneesh Kumar K.V <aneesh.kumar at>
Date:   Sat Jul 23 14:42:38 2016 +0530

    powerpc: Call jump_label_init() in apply_feature_fixups()
    Call jump_label_init() early so that we can use static keys for CPU and
    MMU feature checks.
    Signed-off-by: Aneesh Kumar K.V <aneesh.kumar at>
    Signed-off-by: Michael Ellerman <mpe at>

The following summarizes the situation from my point of view:

1) My system does not boot with 9402c684613163888714df0955fa1f17142b08bf
   "powerpc: Factor do_feature_fixup calls"

2) When the fix bellow is applied on top of
   9402c684613163888714df0955fa1f17142b08bf my system boots.

3) My system does not boot 2c0f99516f53911c3f2f81ab3815841e3408f11e
   which is the mainline commit containing the fix below.

4) I bisected the commits between
   9402c684613163888714df0955fa1f17142b08bf and
   2c0f99516f53911c3f2f81ab3815841e3408f11e with manually applying the
   fix bellow and 309b315b6ec686ce050758cc4e29f6ad1125a83f was the first
   bad commit that didn't boot.

Let me know if you need more information.


On Tue, Aug 02 2016, Benjamin Herrenschmidt wrote:
> On Tue, 2016-08-02 at 00:44 +0200, Michal Sojka wrote:
>> Hi Benjamin,
>> the following commit causes my MPC5200 not to boot.
>>     commit 9402c684613163888714df0955fa1f17142b08bf
>>     Author: Benjamin Herrenschmidt <benh at>
>>     Date:   Tue Jul 5 15:03:41 2016 +1000
>>         powerpc: Factor do_feature_fixup calls
>>         32 and 64-bit do a similar set of calls early on, we move it
>> all to
>>         a single common function to make the boot code more readable.
>>         Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.o
>> rg>
>>         Signed-off-by: Michael Ellerman <mpe at>
>> I suspect that the cause will be similar as described in commit
>> 1cd03890ea64795e53f17a94928cca22495acb2a. Unfortunately, I don't have
>> much time to debug this, but I can easily test patches.
> Does this fixes it for you ?
> diff --git a/arch/powerpc/lib/feature-fixups.c b/arch/powerpc/lib/feature-fixups.c
> index defb299..fd36e13 100644
> --- a/arch/powerpc/lib/feature-fixups.c
> +++ b/arch/powerpc/lib/feature-fixups.c
> @@ -154,7 +154,7 @@ static void do_final_fixups(void)
>  void apply_feature_fixups(void)
>  {
> -	struct cpu_spec *spec = *PTRRELOC(&cur_cpu_spec);
> +	struct cpu_spec *spec = PTRRELOC(*PTRRELOC(&cur_cpu_spec));
>  	/*
>  	 * Apply the CPU-specific and firmware specific fixups to kernel text

More information about the Linuxppc-dev mailing list