This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH 1/9] binutils,gas,opcodes.elf: remove never used SPARC features and upgrade hwcaps.
- From: jose dot marchesi at oracle dot com (Jose E. Marchesi)
- To: David Miller <davem at davemloft dot net>
- Cc: binutils at sourceware dot org
- Date: Sun, 05 Oct 2014 14:36:38 +0200
- Subject: Re: [PATCH 1/9] binutils,gas,opcodes.elf: remove never used SPARC features and upgrade hwcaps.
- Authentication-results: sourceware.org; auth=none
- References: <1412266782-14873-1-git-send-email-jose dot marchesi at oracle dot com> <1412266782-14873-2-git-send-email-jose dot marchesi at oracle dot com> <20141004 dot 201231 dot 1670791506145168102 dot davem at davemloft dot net>
> This patch removes support from GNU binutils for the following SPARC
> features, which were never released to the public or implemented:
>
> - The transactional memory instructions of the cancelled Rock
> processor (UltraSPARC-AT10): CHKPT and COMMIT.
>
> - The %cps ancillary state register, also introduced in the
> UltraSPARC-AT10, along with the associated rd/wr instructions.
>
> - The RANDOM instruction.
These hw capability ELF flags are encoded into binaries and you
therefore cannot just repurpose them however you like. You will
therefore have to allocate new capability flag values for these
features.
I agree in that it is funny to redefine bits like that in a public
interface, but allocating other bits for the JF* caps would imply to
diverge from Solaris. Is that what you want?
Furthermore, even though full transactional memory support never got
into a publicly released processor, recent chips do implement the %cps
register and implement the chkpt instruction as an unconditional
branch.
Huh, which recent chips?. Every of the following specs document
%asr28 as reserved, and %cps is not mentioned at all:
- UA2005, UA2007, OSA2011
- the T1 supplement to UA2005
- the T2 supplement to UA2005
- the T3 supplement to UA2007
- the T4 supplement to OSA2011
- the M5 supplement to OSA2011
- JPS1
- SPARC64V extensions
- SPARC64VI extensions
- SPARC64VIIIfx extensions
- Athena+
Likewise, to my knowledge the chkpt instruction is not documented on any
of the Sun, Oracle or Fujitsu published specs.
Anyway, I guess we could keep support for chkpt and for referring to
%asr28 as %cps in the assembler. Would you be happy with the patch in
that case?