lkml.org 
[lkml]   [2016]   [Jul]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RESEND, v2] powerpc: Export thread_struct.used_vr/used_vsr to user space
Hi Michael,
On Tue, Jul 05, 2016 at 03:40:40PM +1000, Michael Ellerman wrote:
> On Wed, 2016-06-04 at 07:00:12 UTC, Simon Guo wrote:
> > These 2 fields track whether user process has used Altivec/VSX
> > registers or not. They are used by kernel to setup signal frame
> > on user stack correctly regarding vector part.
> >
> > CRIU(Checkpoint and Restore In User space) builds signal frame
> > for restored process. It will need this export information to
> > setup signal frame correctly. And CRIU will need to restore these
> > 2 fields for the restored process.
> >
> > Signed-off-by: Simon Guo <wei.guo.simon@gmail.com>
> > Reviewed-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
> > @@ -176,6 +176,17 @@ struct pt_regs {
> > #define PTRACE_GETREGS64 0x16
> > #define PTRACE_SETREGS64 0x17
> >
> > +/*
> > + * Get or set some register used bit.
> > + * The flags will be saved in a 32 bit data.
> > + * Currently it is only used for VR/VSR usage.
> > + */
> > +#define PTRACE_GET_REGS_USAGE 0x1e
> > +#define PTRACE_SET_REGS_USAGE 0x1f
> > +
> > +#define PTRACE_REGS_USAGE_VR_BIT 0x00000001
> > +#define PTRACE_REGS_USAGE_VSR_BIT 0x00000002
>
>
> It looks like you just made up this new ptrace ABI ?
>
> Or is it used on other arches ? (no AFAICS)
>
> How do other arches handle this ?
>
> I'm a bit wary of adding new ptrace ABIs.
>
> If we do want to do this, I'd at least think the mask should be u64, to give us
> more capacity to add new registers.
>
> cheers

It is only used on PowerPc currently. I had better rename
it to:
#define PPC_PTRACE_GET_REGS_USAGE 0x96
#define PPC_PTRACE_SET_REGS_USAGE 0x97

I will change the mask into u64.

Thanks,
- Simon

\
 
 \ /
  Last update: 2016-07-05 13:21    [W:0.053 / U:0.116 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site