[PATCH] Add PTRACE_{GET|SET}VRREGS
Kumar Gala
kumar.gala at freescale.com
Wed Sep 14 15:18:11 EST 2005
On Sep 13, 2005, at 3:19 PM, Steve Munroe wrote:
> Changing you internal structures is OK with me. But don't change the
> size/alignment for PTRACE_GETVRREGS and PTRACE_SETVRREGS
Which is the same for ppc32 and ppc64, correct?
- kumar
> Kumar Gala <kumar.gala at freescale.com>
> 09/09/2005 09:09 AM
>
> To
> Steve Munroe/Rochester/IBM at IBMUS
> cc
> Robert Jennings <rcjenn at austin.ibm.com>, Anton Blanchard
> <anton at samba.org>, linuxppc64-dev <linuxppc64-dev at ozlabs.org>, Paul
> Mackerras <paulus at samba.org>
> Subject
> Re: [PATCH] Add PTRACE_{GET|SET}VRREGS
>
>
>
>
>
>
> Steve,
>
> Can you provide any insight into Anton's comment.
>
> What I would like to see is on ppc64:
>
> struct thread_struct {
> ...
> #ifdef CONFIG_ALTIVEC
> /* Complete AltiVec register set */
> vector128 vr[32] __attribute((aligned(16)));
> /* AltiVec status */
> vector128 vscr __attribute((aligned(16)));
> unsigned long vrsave;
> int used_vr; /* set if process has used
> altivec */
> #endif /* CONFIG_ALTIVEC */
> };
>
> turn into:
>
> struct thread_struct {
> ...
> #ifdef CONFIG_ALTIVEC
> /* Complete AltiVec register set */
> vector128 vr[32] __attribute((aligned(16)));
> /* AltiVec status */
> vector128 vscr __attribute((aligned(16)));
> unsigned int vrsave;
> int used_vr; /* set if process has used
> altivec */
> #endif /* CONFIG_ALTIVEC */
> };
>
> (Change of unsigned long to unsigned int for vrsave). This is
> because vrsave is truly only 32-bits in all implementations.
>
> Is there some reason this breaks the ppc64 ABI?
>
> - kumar
>
>
> On Sep 9, 2005, at 1:47 AM, Anton Blanchard wrote:
>
>
>>
>> Hi Kumar,
>>
>>
>>
>>> I repeat my request that we make vrsave an unsigned int instead
>>> of an
>>> unsigned long in thread_struct since we are touch this code anyways.
>>>
>>>
>>
>> Apparently the 3 word pad is there for a reason in the 64bit ABI,
>> Steve
>> Munroe would know the details.
>>
>> Anton
>>
>>
>
>
More information about the Linuxppc64-dev
mailing list