[PASEMI] Nemo board doesn't boot anymore after the commit "powerpc/book3s64/pkeys: Simplify pkey disable branch"

Christian Zigotzky chzigotzky at xenosoft.de
Mon Aug 10 18:45:37 AEST 2020


Hello Aneesh,

I tested the new kernel today and unfortunately it doesn't run very well.

I have only one core (1 physical processor; 1 core; 2 threads) instead 
of two cores (1 physical processor; 2 cores; 2 threads) so the system is 
slower.

Boot log: http://www.xenosoft.de/dmesg_nemo_board_kernel_5.9.txt

Could you please check the updates?

Thanks,
Christian


On 10 August 2020 at 09:56 am, Christian Zigotzky wrote:
> Hello Aneesh,
>
> The Nemo board boots with your patch but unfortunately I don't see any 
> boot messages anymore.
>
> Please find attached the kernel config.
>
> Thanks,
> Christian
>
>
> On 09 August 2020 at 5:49 pm, Christian Zigotzky wrote:
>> Hello Aneesh,
>>
>> Many thanks for your fast response and thanks a lot for your patch!
>> I will patch and compile a new git kernel tomorrow. I am looking 
>> forward to the result.
>>
>> Have a nice day!
>>
>> Cheers,
>> Christian
>>
>>> On 9. Aug 2020, at 17:11, Aneesh Kumar K.V 
>>> <aneesh.kumar at linux.ibm.com> wrote:
>>>
>>> "Aneesh Kumar K.V" <aneesh.kumar at linux.ibm.com> writes:
>>>
>>>>> On 8/9/20 8:04 PM, Aneesh Kumar K.V wrote:
>>>>> On 8/9/20 7:42 PM, Christian Zigotzky wrote:
>>>>>> Hello,
>>>>>>
>>>>>> The Nemo board (A-EON AmigaOne X1000) [1] doesn't start with the
>>>>>> latest Git kernel anymore after the commit "powerpc/book3s64/pkeys:
>>>>>> Simplify pkey disable branch" [2].
>>>>>>
>>>>>> I bisected today [3].
>>>>>>
>>>>>> Result: powerpc/book3s64/pkeys: Simplify pkey disable branch
>>>>>> (a4678d4b477c3d2901f101986ca01406f3b7eaea) [2] is the first bad 
>>>>>> commit.
>>>>>>
>>>>>> Unfortunately I wasn't able to revert the first bad commit. The 
>>>>>> first
>>>>>> bad commit depends on many other commits, which unfortunately I 
>>>>>> don't
>>>>>> know. I tried to remove the modifications of the files from the 
>>>>>> first
>>>>>> bad commit but without any success. There are just too many 
>>>>>> dependencies.
>>>>>>
>>>>>> Additionally I reverted the commit "selftests/powerpc: Fix pkey
>>>>>> syscall redefinitions" [4] and compiled a new kernel but without any
>>>>>> success.
>>>>>>
>>>>>> Could you please check the first bad commit?
>>>>>>
>>>>>> Thanks,
>>>>>> Christian
>>>>>>
>>>>>
>>>>> Can you share a successful boot log of the system so that i can 
>>>>> double
>>>>> check the cpu_feature and mmu_feature reported ? I am looking for
>>>>> details similar to below.
>>>>>
>>>>> [    0.000000] cpu_features      = 0x0001c07f8f5f91a7
>>>>> [    0.000000]   possible        = 0x0001fbffcf5fb1a7
>>>>> [    0.000000]   always          = 0x00000003800081a1
>>>>> [    0.000000] cpu_user_features = 0xdc0065c2 0xefe00000
>>>>> [    0.000000] mmu_features      = 0x7c006001
>>>>> [    0.000000] firmware_features = 0x0000001fc45bfc57
>>>>> [    0.000000] vmalloc start     = 0xc008000000000000
>>>>> [    0.000000] IO start          = 0xc00a000000000000
>>>>> [    0.000000] vmemmap start     = 0xc00c000000000000
>>>>>
>>>>>
>>>>> IIUC this is P5+? (ISA 2.04). On that pkey should be marked 
>>>>> disabled via
>>>>>
>>>>> static int scan_pkey_feature(void)
>>>>> {
>>>>>      int ret;
>>>>>      int pkeys_total = 0;
>>>>>
>>>>>      ....
>>>>>
>>>>>      /*
>>>>>       * Only P7 and above supports SPRN_AMR update with MSR[PR] = 1
>>>>>       */
>>>>>      if (!early_cpu_has_feature(CPU_FTR_ARCH_206))
>>>>>          return 0;
>>>>>
>>>>>
>>>>> }
>>>>>
>>>>> Can you boot with CONFIG_PPC_MEM_KEYS=n ?
>>>>
>>>> Can you try this change on top of master?
>>>>
>>>>
>>>> modified   arch/powerpc/mm/book3s64/pkeys.c
>>>> @@ -215,10 +215,6 @@ void __init pkey_early_init_devtree(void)
>>>>
>>>>       pr_info("Enabling pkeys with max key count %d\n", num_pkey);
>>>>   out:
>>>> -    /*
>>>> -     * Setup uamor on boot cpu
>>>> -     */
>>>> -    mtspr(SPRN_UAMOR, default_uamor);
>>>>
>>>>       return;
>>>>   }
>>>>
>>> Full patch with better description.
>>>
>>> commit 919a177bcdaf1eaeaeecc0d0f50a688629d7b5df
>>> Author: Aneesh Kumar K.V <aneesh.kumar at linux.ibm.com>
>>> Date:   Sun Aug 9 20:37:38 2020 +0530
>>>
>>>     powerpc/pkeys: Fix boot failures with Nemo board (A-EON AmigaOne 
>>> X1000)
>>>
>>>     On p6 and before we should avoid updating UAMOR SPRN. This resulted
>>>     in boot failure on Nemo board.
>>>
>>>     Fixes: 269e829f48a0 ("powerpc/book3s64/pkey: Disable pkey on 
>>> POWER6 and before")
>>>     Reported-by: Christian Zigotzky <chzigotzky at xenosoft.de>
>>>     Signed-off-by: Aneesh Kumar K.V <aneesh.kumar at linux.ibm.com>
>>>
>>> diff --git a/arch/powerpc/mm/book3s64/pkeys.c 
>>> b/arch/powerpc/mm/book3s64/pkeys.c
>>> index 69a6b87f2bb4..b1d091a97611 100644
>>> --- a/arch/powerpc/mm/book3s64/pkeys.c
>>> +++ b/arch/powerpc/mm/book3s64/pkeys.c
>>> @@ -73,12 +73,6 @@ static int scan_pkey_feature(void)
>>>     if (early_radix_enabled())
>>>         return 0;
>>>
>>> -    /*
>>> -     * Only P7 and above supports SPRN_AMR update with MSR[PR] = 1
>>> -     */
>>> -    if (!early_cpu_has_feature(CPU_FTR_ARCH_206))
>>> -        return 0;
>>> -
>>>     ret = of_scan_flat_dt(dt_scan_storage_keys, &pkeys_total);
>>>     if (ret == 0) {
>>>         /*
>>> @@ -124,6 +118,12 @@ void __init pkey_early_init_devtree(void)
>>>              __builtin_popcountl(ARCH_VM_PKEY_FLAGS >> VM_PKEY_SHIFT)
>>>                 != (sizeof(u64) * BITS_PER_BYTE));
>>>
>>> +    /*
>>> +     * Only P7 and above supports SPRN_AMR update with MSR[PR] = 1
>>> +     */
>>> +    if (!early_cpu_has_feature(CPU_FTR_ARCH_206))
>>> +        return;
>>> +
>>>     /* scan the device tree for pkey feature */
>>>     pkeys_total = scan_pkey_feature();
>>>     if (!pkeys_total)
>



More information about the Linuxppc-dev mailing list