[FSL P50xx] IRQ issues

Christian Zigotzky chzigotzky at xenosoft.de
Wed Jul 7 01:22:00 AEST 2021


Hi Nick,

Your patch works (see patch below)! Many thanks for your help! We tested 
it on an A-EON AmigaOne X5000/20 and in a virtual e5500 QEMU machine today.

Screenshots:

- 
http://www.skateman.nl/wp-content/uploads/2021/07/Screenshot-at-2021-07-06-113237.png
- https://i.ibb.co/h813RRp/Kernel-5-14-alpha3-Power-PC.png

Thanks,
Christian

On 06 July 2021 at 06:07 am, Christian Zigotzky wrote:
> Hi Nick,
>
> Thanks a lot for your patch! We will test it as soon as possible. 
> You're right that this issue doesn't exist in a virtual e5500 QEMU 
> machine.
>
> Have a nice day,
> Christian
>
> On 06 July 2021 at 01:36 am, Nicholas Piggin wrote:
>> Excerpts from Christian Zigotzky's message of July 6, 2021 4:49 am:
>>> Hi All,
>>>
>>> Our FSL P50xx machines don't boot anymore because of IRQ issues. [1]
>>>
>>> Please check the IRQ changes in the latest PowerPC updates 5.14-1. [2]
>>>
>>> Thanks,
>>> Christian
>>>
>>> [1]
>>> https://forum.hyperion-entertainment.com/download/file.php?id=2592&mode=view 
>>>
>>> [2]
>>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=019b3fd94ba73d3ac615f0537440b81f129821f6 
>>>
>> This looks like mtmsrd in the 64e code. I think this should fix it.
>>
>> QEMU does not seem to trap on this, maybe something to improve.
>>
>> Thanks,
>> Nick
>> -- 
>>
>> diff --git a/arch/powerpc/kernel/interrupt_64.S 
>> b/arch/powerpc/kernel/interrupt_64.S
>> index 4063e8a3f704..d4212d2ff0b5 100644
>> --- a/arch/powerpc/kernel/interrupt_64.S
>> +++ b/arch/powerpc/kernel/interrupt_64.S
>> @@ -311,9 +311,13 @@ END_BTB_FLUSH_SECTION
>>        * trace_hardirqs_off().
>>        */
>>       li    r11,IRQS_ALL_DISABLED
>> -    li    r12,-1 /* Set MSR_EE and MSR_RI */
>>       stb    r11,PACAIRQSOFTMASK(r13)
>> +#ifdef CONFIG_PPC_BOOK3S
>> +    li    r12,-1 /* Set MSR_EE and MSR_RI */
>>       mtmsrd    r12,1
>> +#else
>> +    wrteei    1
>> +#endif
>>         /* Calling convention has r9 = orig r0, r10 = regs */
>>       mr    r9,r0
>



More information about the Linuxppc-dev mailing list