All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Long <dave.long@linaro.org>
To: Rob Herring <robherring2@gmail.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>,
	Andy Lutomirski <luto@amacapital.net>,
	Anton Blanchard <anton@samba.org>,
	Behan Webster <behanw@converseincode.com>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Eric Paris <eparis@redhat.com>,
	Heiko Carstens <heiko.carstens@de.ibm.com>,
	Ingo Molnar <mingo@redhat.com>, Jan Willeke <willeke@de.ibm.com>,
	Kees Cook <keescook@chromium.org>,
	Martin Schwidefsky <schwidefsky@de.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Nikolay Borisov <Nikolay.Borisov@arm.com>,
	Oleg Nesterov <oleg@redhat.com>,
	Paul Mackerras <paulus@samba.org>,
	Richard Kuo <rkuo@codeaurora.org>,
	Robert Richter <rric@kernel.org>,
	Roland McGrath <roland@hack.frob.com>,
	Russell King <linux@arm.linux.org.uk>, Tejun Heo <tj@kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Will Deacon <will.deacon@arm.com>,
	"linux-arm-kernel@lists.infradead.org" <linux-arm-k>
Subject: Re: [PATCH 1/2] Move the pt_regs_offset struct definition from arch to common include file
Date: Wed, 17 Jun 2015 14:30:40 -0400	[thread overview]
Message-ID: <5581BCD0.2040405@linaro.org> (raw)
In-Reply-To: <CAL_JsqK3L9Hv9bhAtwAAXVYjLJBTOG9=4ddOo-SFqnD-_KieCQ@mail.gmail.com>

On 06/16/15 09:17, Rob Herring wrote:
> On Mon, Jun 15, 2015 at 11:42 AM, David Long <dave.long@linaro.org> wrote:
>> From: "David A. Long" <dave.long@linaro.org>
>>
>> The pt_regs_offset structure is used for HAVE_REGS_AND_STACK_ACCESS_API
>>   feature and has identical definitions in four different arch ptrace.h
>> include files. It seems unlikely that definition would ever need to be
>> changed regardless of architecture so lets move it into
>> include/linux/ptrace.h.
>>
>> Signed-off-by: David A. Long <dave.long@linaro.org>
>> ---
>>   arch/arm/kernel/ptrace.c     | 5 -----
>>   arch/powerpc/kernel/ptrace.c | 5 -----
>>   arch/sh/include/asm/ptrace.h | 5 -----
>>   arch/x86/kernel/ptrace.c     | 5 -----
>>   include/linux/ptrace.h       | 9 +++++++++
>>   5 files changed, 9 insertions(+), 20 deletions(-)
>>
>> diff --git a/arch/arm/kernel/ptrace.c b/arch/arm/kernel/ptrace.c
>> index ef9119f..fb45cf1 100644
>> --- a/arch/arm/kernel/ptrace.c
>> +++ b/arch/arm/kernel/ptrace.c
>> @@ -59,11 +59,6 @@
>>   #define BREAKINST_THUMB        0xde01
>>   #endif
>>
>> -struct pt_regs_offset {
>> -       const char *name;
>> -       int offset;
>> -};
>> -
>>   #define REG_OFFSET_NAME(r) \
>>          {.name = #r, .offset = offsetof(struct pt_regs, ARM_##r)}
>>   #define REG_OFFSET_END {.name = NULL, .offset = 0}
>
> Can't you also move these? ARM is complicated with the "ARM_"
> prefixing, but the others appear to be the same. Maybe you can remove
> the prefix or redefine the macro for ARM.
>
> Rob
>

That would mandate that all the architecture-specific pt_regs structures 
would have to use a top-level named field for each named register.  That 
seems to me like an unnecessary restriction when the point of 
regs_offset_table is to provide the offset of the register inside an 
arbitarily complex pt_regs struct.  The often redundant definition of 
these two macros doesn't seem to me that high a price for that.

-dl


WARNING: multiple messages have this Message-ID (diff)
From: David Long <dave.long@linaro.org>
To: linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 1/2] Move the pt_regs_offset struct definition from arch to common include file
Date: Wed, 17 Jun 2015 18:30:40 +0000	[thread overview]
Message-ID: <5581BCD0.2040405@linaro.org> (raw)
In-Reply-To: <CAL_JsqK3L9Hv9bhAtwAAXVYjLJBTOG9=4ddOo-SFqnD-_KieCQ@mail.gmail.com>

On 06/16/15 09:17, Rob Herring wrote:
> On Mon, Jun 15, 2015 at 11:42 AM, David Long <dave.long@linaro.org> wrote:
>> From: "David A. Long" <dave.long@linaro.org>
>>
>> The pt_regs_offset structure is used for HAVE_REGS_AND_STACK_ACCESS_API
>>   feature and has identical definitions in four different arch ptrace.h
>> include files. It seems unlikely that definition would ever need to be
>> changed regardless of architecture so lets move it into
>> include/linux/ptrace.h.
>>
>> Signed-off-by: David A. Long <dave.long@linaro.org>
>> ---
>>   arch/arm/kernel/ptrace.c     | 5 -----
>>   arch/powerpc/kernel/ptrace.c | 5 -----
>>   arch/sh/include/asm/ptrace.h | 5 -----
>>   arch/x86/kernel/ptrace.c     | 5 -----
>>   include/linux/ptrace.h       | 9 +++++++++
>>   5 files changed, 9 insertions(+), 20 deletions(-)
>>
>> diff --git a/arch/arm/kernel/ptrace.c b/arch/arm/kernel/ptrace.c
>> index ef9119f..fb45cf1 100644
>> --- a/arch/arm/kernel/ptrace.c
>> +++ b/arch/arm/kernel/ptrace.c
>> @@ -59,11 +59,6 @@
>>   #define BREAKINST_THUMB        0xde01
>>   #endif
>>
>> -struct pt_regs_offset {
>> -       const char *name;
>> -       int offset;
>> -};
>> -
>>   #define REG_OFFSET_NAME(r) \
>>          {.name = #r, .offset = offsetof(struct pt_regs, ARM_##r)}
>>   #define REG_OFFSET_END {.name = NULL, .offset = 0}
>
> Can't you also move these? ARM is complicated with the "ARM_"
> prefixing, but the others appear to be the same. Maybe you can remove
> the prefix or redefine the macro for ARM.
>
> Rob
>

That would mandate that all the architecture-specific pt_regs structures 
would have to use a top-level named field for each named register.  That 
seems to me like an unnecessary restriction when the point of 
regs_offset_table is to provide the offset of the register inside an 
arbitarily complex pt_regs struct.  The often redundant definition of 
these two macros doesn't seem to me that high a price for that.

-dl


WARNING: multiple messages have this Message-ID (diff)
From: David Long <dave.long@linaro.org>
To: Rob Herring <robherring2@gmail.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>,
	Andy Lutomirski <luto@amacapital.net>,
	Anton Blanchard <anton@samba.org>,
	Behan Webster <behanw@converseincode.com>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Eric Paris <eparis@redhat.com>,
	Heiko Carstens <heiko.carstens@de.ibm.com>,
	Ingo Molnar <mingo@redhat.com>, Jan Willeke <willeke@de.ibm.com>,
	Kees Cook <keescook@chromium.org>,
	Martin Schwidefsky <schwidefsky@de.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Nikolay Borisov <Nikolay.Borisov@arm.com>,
	Oleg Nesterov <oleg@redhat.com>,
	Paul Mackerras <paulus@samba.org>,
	Richard Kuo <rkuo@codeaurora.org>,
	Robert Richter <rric@kernel.org>,
	Roland McGrath <roland@hack.frob.com>,
	Russell King <linux@arm.linux.org.uk>, Tejun Heo <tj@kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Will Deacon <will.deacon@arm.com>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	linux-hexagon@vger.kernel.org,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	linux-s390@vger.kernel.org, SH-Linux <linux-sh@vger.kernel.org>,
	linux390@de.ibm.com, linuxppc-dev <linuxppc-dev@lists.ozlabs.org>,
	"x86@kernel.org" <x86@kernel.org>
Subject: Re: [PATCH 1/2] Move the pt_regs_offset struct definition from arch to common include file
Date: Wed, 17 Jun 2015 14:30:40 -0400	[thread overview]
Message-ID: <5581BCD0.2040405@linaro.org> (raw)
In-Reply-To: <CAL_JsqK3L9Hv9bhAtwAAXVYjLJBTOG9=4ddOo-SFqnD-_KieCQ@mail.gmail.com>

On 06/16/15 09:17, Rob Herring wrote:
> On Mon, Jun 15, 2015 at 11:42 AM, David Long <dave.long@linaro.org> wrote:
>> From: "David A. Long" <dave.long@linaro.org>
>>
>> The pt_regs_offset structure is used for HAVE_REGS_AND_STACK_ACCESS_API
>>   feature and has identical definitions in four different arch ptrace.h
>> include files. It seems unlikely that definition would ever need to be
>> changed regardless of architecture so lets move it into
>> include/linux/ptrace.h.
>>
>> Signed-off-by: David A. Long <dave.long@linaro.org>
>> ---
>>   arch/arm/kernel/ptrace.c     | 5 -----
>>   arch/powerpc/kernel/ptrace.c | 5 -----
>>   arch/sh/include/asm/ptrace.h | 5 -----
>>   arch/x86/kernel/ptrace.c     | 5 -----
>>   include/linux/ptrace.h       | 9 +++++++++
>>   5 files changed, 9 insertions(+), 20 deletions(-)
>>
>> diff --git a/arch/arm/kernel/ptrace.c b/arch/arm/kernel/ptrace.c
>> index ef9119f..fb45cf1 100644
>> --- a/arch/arm/kernel/ptrace.c
>> +++ b/arch/arm/kernel/ptrace.c
>> @@ -59,11 +59,6 @@
>>   #define BREAKINST_THUMB        0xde01
>>   #endif
>>
>> -struct pt_regs_offset {
>> -       const char *name;
>> -       int offset;
>> -};
>> -
>>   #define REG_OFFSET_NAME(r) \
>>          {.name = #r, .offset = offsetof(struct pt_regs, ARM_##r)}
>>   #define REG_OFFSET_END {.name = NULL, .offset = 0}
>
> Can't you also move these? ARM is complicated with the "ARM_"
> prefixing, but the others appear to be the same. Maybe you can remove
> the prefix or redefine the macro for ARM.
>
> Rob
>

That would mandate that all the architecture-specific pt_regs structures 
would have to use a top-level named field for each named register.  That 
seems to me like an unnecessary restriction when the point of 
regs_offset_table is to provide the offset of the register inside an 
arbitarily complex pt_regs struct.  The often redundant definition of 
these two macros doesn't seem to me that high a price for that.

-dl

WARNING: multiple messages have this Message-ID (diff)
From: dave.long@linaro.org (David Long)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/2] Move the pt_regs_offset struct definition from arch to common include file
Date: Wed, 17 Jun 2015 14:30:40 -0400	[thread overview]
Message-ID: <5581BCD0.2040405@linaro.org> (raw)
In-Reply-To: <CAL_JsqK3L9Hv9bhAtwAAXVYjLJBTOG9=4ddOo-SFqnD-_KieCQ@mail.gmail.com>

On 06/16/15 09:17, Rob Herring wrote:
> On Mon, Jun 15, 2015 at 11:42 AM, David Long <dave.long@linaro.org> wrote:
>> From: "David A. Long" <dave.long@linaro.org>
>>
>> The pt_regs_offset structure is used for HAVE_REGS_AND_STACK_ACCESS_API
>>   feature and has identical definitions in four different arch ptrace.h
>> include files. It seems unlikely that definition would ever need to be
>> changed regardless of architecture so lets move it into
>> include/linux/ptrace.h.
>>
>> Signed-off-by: David A. Long <dave.long@linaro.org>
>> ---
>>   arch/arm/kernel/ptrace.c     | 5 -----
>>   arch/powerpc/kernel/ptrace.c | 5 -----
>>   arch/sh/include/asm/ptrace.h | 5 -----
>>   arch/x86/kernel/ptrace.c     | 5 -----
>>   include/linux/ptrace.h       | 9 +++++++++
>>   5 files changed, 9 insertions(+), 20 deletions(-)
>>
>> diff --git a/arch/arm/kernel/ptrace.c b/arch/arm/kernel/ptrace.c
>> index ef9119f..fb45cf1 100644
>> --- a/arch/arm/kernel/ptrace.c
>> +++ b/arch/arm/kernel/ptrace.c
>> @@ -59,11 +59,6 @@
>>   #define BREAKINST_THUMB        0xde01
>>   #endif
>>
>> -struct pt_regs_offset {
>> -       const char *name;
>> -       int offset;
>> -};
>> -
>>   #define REG_OFFSET_NAME(r) \
>>          {.name = #r, .offset = offsetof(struct pt_regs, ARM_##r)}
>>   #define REG_OFFSET_END {.name = NULL, .offset = 0}
>
> Can't you also move these? ARM is complicated with the "ARM_"
> prefixing, but the others appear to be the same. Maybe you can remove
> the prefix or redefine the macro for ARM.
>
> Rob
>

That would mandate that all the architecture-specific pt_regs structures 
would have to use a top-level named field for each named register.  That 
seems to me like an unnecessary restriction when the point of 
regs_offset_table is to provide the offset of the register inside an 
arbitarily complex pt_regs struct.  The often redundant definition of 
these two macros doesn't seem to me that high a price for that.

-dl

  reply	other threads:[~2015-06-17 18:30 UTC|newest]

Thread overview: 91+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-15 16:42 [PATCH 0/2] Consolidate redundant register/stack access code David Long
2015-06-15 16:42 ` David Long
2015-06-15 16:42 ` David Long
2015-06-15 16:42 ` David Long
2015-06-15 16:42 ` [PATCH 1/2] Move the pt_regs_offset struct definition from arch to common include file David Long
2015-06-15 16:42   ` David Long
2015-06-15 16:42   ` David Long
2015-06-15 16:42   ` David Long
2015-06-16 13:17   ` Rob Herring
2015-06-16 13:17     ` Rob Herring
2015-06-16 13:17     ` Rob Herring
2015-06-16 13:17     ` Rob Herring
2015-06-17 18:30     ` David Long [this message]
2015-06-17 18:30       ` David Long
2015-06-17 18:30       ` David Long
2015-06-17 18:30       ` David Long
2015-06-30  3:29       ` Michael Ellerman
2015-06-30  3:29         ` Michael Ellerman
2015-06-30  3:29         ` Michael Ellerman
2015-06-30  3:29         ` Michael Ellerman
2015-07-22  4:46         ` David Long
2015-07-22  4:46           ` David Long
2015-07-22  4:46           ` David Long
2015-07-22  4:46           ` David Long
2015-07-22  5:11           ` Michael Ellerman
2015-07-22  5:11             ` Michael Ellerman
2015-07-22  5:11             ` Michael Ellerman
2015-07-22  5:11             ` Michael Ellerman
2015-07-22 13:30             ` David Long
2015-07-22 13:30               ` David Long
2015-07-22 13:30               ` David Long
2015-07-22 13:30               ` David Long
2015-06-19  4:19   ` Michael Ellerman
2015-06-19  4:19     ` Michael Ellerman
2015-06-19  4:19     ` Michael Ellerman
2015-06-19  4:19     ` Michael Ellerman
2015-06-19 14:12     ` David Long
2015-06-19 14:12       ` David Long
2015-06-19 14:12       ` David Long
2015-06-19 14:12       ` David Long
2015-06-19 14:12       ` David Long
2015-06-19 16:58       ` Kees Cook
2015-06-19 16:58         ` Kees Cook
2015-06-19 16:58         ` Kees Cook
2015-06-19 16:58         ` Kees Cook
2015-06-19 16:58         ` Kees Cook
2015-06-26 18:35         ` David Long
2015-06-26 18:35           ` David Long
2015-06-26 18:35           ` David Long
2015-06-26 18:35           ` David Long
2015-06-23  3:32       ` Michael Ellerman
2015-06-23  3:32         ` Michael Ellerman
2015-06-23  3:32         ` Michael Ellerman
2015-06-23  3:32         ` Michael Ellerman
2015-06-23  3:32         ` Michael Ellerman
2015-06-23 13:48         ` David Long
2015-06-23 13:48           ` David Long
2015-06-23 13:48           ` David Long
2015-06-23 13:48           ` David Long
2015-06-24  4:07           ` Michael Ellerman
2015-06-24  4:07             ` Michael Ellerman
2015-06-24  4:07             ` Michael Ellerman
2015-06-24  4:07             ` Michael Ellerman
2015-06-24 13:49             ` David Long
2015-06-24 13:49               ` David Long
2015-06-24 13:49               ` David Long
2015-06-24 13:49               ` David Long
2015-06-15 16:42 ` [PATCH 2/2] Consolidate redundant register/stack access code David Long
2015-06-15 16:42   ` David Long
2015-06-15 16:42   ` David Long
2015-06-15 16:42   ` David Long
2015-06-18 18:13   ` rkuo
2015-06-18 18:13     ` rkuo
2015-06-18 18:13     ` rkuo
2015-06-18 18:13     ` rkuo
2015-06-15 20:44 ` [PATCH 0/2] " Kees Cook
2015-06-15 20:44   ` Kees Cook
2015-06-15 20:44   ` Kees Cook
2015-06-15 20:44   ` Kees Cook
2015-06-15 20:58   ` David Long
2015-06-15 20:58     ` David Long
2015-06-15 20:58     ` David Long
2015-06-15 20:58     ` David Long
2015-06-16  8:12 ` Martin Schwidefsky
2015-06-16  8:12   ` Martin Schwidefsky
2015-06-16  8:12   ` Martin Schwidefsky
2015-06-16  8:12   ` Martin Schwidefsky
2015-06-16 17:39 ` Will Deacon
2015-06-16 17:39   ` Will Deacon
2015-06-16 17:39   ` Will Deacon
2015-06-16 17:39   ` Will Deacon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5581BCD0.2040405@linaro.org \
    --to=dave.long@linaro.org \
    --cc=Nikolay.Borisov@arm.com \
    --cc=anton@samba.org \
    --cc=behanw@converseincode.com \
    --cc=benh@kernel.crashing.org \
    --cc=eparis@redhat.com \
    --cc=heiko.carstens@de.ibm.com \
    --cc=hpa@zytor.com \
    --cc=keescook@chromium.org \
    --cc=linux@arm.linux.org.uk \
    --cc=luto@amacapital.net \
    --cc=mingo@redhat.com \
    --cc=mpe@ellerman.id.au \
    --cc=oleg@redhat.com \
    --cc=paulus@samba.org \
    --cc=rkuo@codeaurora.org \
    --cc=robherring2@gmail.com \
    --cc=roland@hack.frob.com \
    --cc=rric@kernel.org \
    --cc=schwidefsky@de.ibm.com \
    --cc=tglx@linutronix.de \
    --cc=tj@kernel.org \
    --cc=will.deacon@arm.com \
    --cc=willeke@de.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.