[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