diff mbox

arm64/sve: Reserve HWCAP and ELF note numbers for SVE

Message ID 1488550406-11204-1-git-send-email-Dave.Martin@arm.com (mailing list archive)
State New, archived
Headers show

Commit Message

Dave Martin March 3, 2017, 2:13 p.m. UTC
Since the HWCAP and ELF note assignments that will be required for
supporting the Scalable Vector Extension are well understood, it
makes sense to reserve the relevant numbers now in order to help
other projects coordinate.

This patch documents reservations for the expcted assignments.

Later patches implementing SVE support will replace these
reservations with the appropriate #defines.

Signed-off-by: Dave Martin <Dave.Martin@arm.com>
---

The most recent full RFC series for SVE is here:
http://lists.infradead.org/pipermail/linux-arm-kernel/2016-November/470507.html

 arch/arm64/include/uapi/asm/hwcap.h | 1 +
 include/uapi/linux/elf.h            | 1 +
 2 files changed, 2 insertions(+)

Comments

Catalin Marinas March 6, 2017, 3:24 p.m. UTC | #1
On Fri, Mar 03, 2017 at 02:13:26PM +0000, Dave P Martin wrote:
> --- a/include/uapi/linux/elf.h
> +++ b/include/uapi/linux/elf.h
> @@ -414,6 +414,7 @@ typedef struct elf64_shdr {
>  #define NT_ARM_HW_BREAK	0x402		/* ARM hardware breakpoint registers */
>  #define NT_ARM_HW_WATCH	0x403		/* ARM hardware watchpoint registers */
>  #define NT_ARM_SYSTEM_CALL	0x404	/* ARM system call number */
> +					/* 0x405 reserved for SVE */

Just a nitpick: given that this is generic file, even if it's in the
ARM-specific section, it might be worth adding "ARM" to the comment:
"reserved for ARM SVE" (not needed for hwcap).

Depending on the SVE merging timescales, this patch may go in together
with the rest ;).
Dave Martin March 8, 2017, 12:20 p.m. UTC | #2
On Mon, Mar 06, 2017 at 03:24:47PM +0000, Catalin Marinas wrote:
> On Fri, Mar 03, 2017 at 02:13:26PM +0000, Dave P Martin wrote:
> > --- a/include/uapi/linux/elf.h
> > +++ b/include/uapi/linux/elf.h
> > @@ -414,6 +414,7 @@ typedef struct elf64_shdr {
> >  #define NT_ARM_HW_BREAK	0x402		/* ARM hardware breakpoint registers */
> >  #define NT_ARM_HW_WATCH	0x403		/* ARM hardware watchpoint registers */
> >  #define NT_ARM_SYSTEM_CALL	0x404	/* ARM system call number */
> > +					/* 0x405 reserved for SVE */
> 
> Just a nitpick: given that this is generic file, even if it's in the
> ARM-specific section, it might be worth adding "ARM" to the comment:
> "reserved for ARM SVE" (not needed for hwcap).

Will do.

> Depending on the SVE merging timescales, this patch may go in together
> with the rest ;).

I need to respin this, because HWCAP_CPUID and HWCAP_ASIMDRDM went in
first (my bad, should have seen those in flight) -- since we are only
at -rc1 those could be renumbered, but it's probably not worth the
associated risks.

In any case, NT_ARM_SVE was the more important reservation.

Yao, Alan, does gdb make any use of HWCAP_SVE?

Cheers
---Dave
Alan Hayward March 8, 2017, 12:30 p.m. UTC | #3
> On 8 Mar 2017, at 12:20, Dave Martin <Dave.Martin@arm.com> wrote:
>
> On Mon, Mar 06, 2017 at 03:24:47PM +0000, Catalin Marinas wrote:
>> On Fri, Mar 03, 2017 at 02:13:26PM +0000, Dave P Martin wrote:
>>> --- a/include/uapi/linux/elf.h
>>> +++ b/include/uapi/linux/elf.h
>>> @@ -414,6 +414,7 @@ typedef struct elf64_shdr {
>>> #define NT_ARM_HW_BREAK0x402/* ARM hardware breakpoint registers */
>>> #define NT_ARM_HW_WATCH0x403/* ARM hardware watchpoint registers */
>>> #define NT_ARM_SYSTEM_CALL0x404/* ARM system call number */
>>> +/* 0x405 reserved for SVE */
>>
>> Just a nitpick: given that this is generic file, even if it's in the
>> ARM-specific section, it might be worth adding "ARM" to the comment:
>> "reserved for ARM SVE" (not needed for hwcap).
>
> Will do.
>
>> Depending on the SVE merging timescales, this patch may go in together
>> with the rest ;).
>
> I need to respin this, because HWCAP_CPUID and HWCAP_ASIMDRDM went in
> first (my bad, should have seen those in flight) -- since we are only
> at -rc1 those could be renumbered, but it's probably not worth the
> associated risks.
>
> In any case, NT_ARM_SVE was the more important reservation.
>
> Yao, Alan, does gdb make any use of HWCAP_SVE?

It exists in binutils, but neither binutils nor gdb make use of it yet.

>
> Cheers
> ---Dave

IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
diff mbox

Patch

diff --git a/arch/arm64/include/uapi/asm/hwcap.h b/arch/arm64/include/uapi/asm/hwcap.h
index a739287..fb75a34 100644
--- a/arch/arm64/include/uapi/asm/hwcap.h
+++ b/arch/arm64/include/uapi/asm/hwcap.h
@@ -30,5 +30,6 @@ 
 #define HWCAP_ATOMICS		(1 << 8)
 #define HWCAP_FPHP		(1 << 9)
 #define HWCAP_ASIMDHP		(1 << 10)
+				/* (1 << 11) reserved for SVE */
 
 #endif /* _UAPI__ASM_HWCAP_H */
diff --git a/include/uapi/linux/elf.h b/include/uapi/linux/elf.h
index b59ee07..b22d215 100644
--- a/include/uapi/linux/elf.h
+++ b/include/uapi/linux/elf.h
@@ -414,6 +414,7 @@  typedef struct elf64_shdr {
 #define NT_ARM_HW_BREAK	0x402		/* ARM hardware breakpoint registers */
 #define NT_ARM_HW_WATCH	0x403		/* ARM hardware watchpoint registers */
 #define NT_ARM_SYSTEM_CALL	0x404	/* ARM system call number */
+					/* 0x405 reserved for SVE */
 #define NT_METAG_CBUF	0x500		/* Metag catch buffer registers */
 #define NT_METAG_RPIPE	0x501		/* Metag read pipeline state */
 #define NT_METAG_TLS	0x502		/* Metag TLS pointer */