Re: [PATCH V2 8/9] tools/perf: Add support to find global register variables using find_data_type_global_reg

From: Christophe Leroy
Date: Fri May 24 2024 - 08:47:47 EST




Le 24/05/2024 à 14:17, Athira Rajeev a écrit :
>
>
>> On 7 May 2024, at 3:33 PM, Christophe Leroy <christophe.leroy@xxxxxxxxxx> wrote:
>>
>>
>>
>> Le 06/05/2024 à 14:19, Athira Rajeev a écrit :
>>> There are cases where define a global register variable and associate it
>>> with a specified register. Example, in powerpc, two registers are
>>> defined to represent variable:
>>> 1. r13: represents local_paca
>>> register struct paca_struct *local_paca asm("r13");
>>>
>>> 2. r1: represents stack_pointer
>>> register void *__stack_pointer asm("r1");
>>
>> What about r2:
>>
>> register struct task_struct *current asm ("r2");
>
> Hi Christophe,
>
> Referring to arch/powerpc/include/asm/current.h, “current” in powerpc 64 bit is from paca_struct which is handled with r13
> R2 definition which you shared above is for 32 bit case.
>

Hi Athira,

Yes I know.

Your patches are meant to handle both powerpc/64 and powerpc/32, aren't
they ?

Christophe