Rev 5191 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5191 | Rev 6324 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | /* SPARC ELF support for BFD. |
1 | /* SPARC ELF support for BFD. |
2 | Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2008, 2010, |
- | |
3 | 2011 |
- | |
4 | Free Software Foundation, Inc. |
2 | Copyright (C) 1996-2015 Free Software Foundation, Inc. |
5 | By Doug Evans, Cygnus Support, |
3 | By Doug Evans, Cygnus Support, |
Line 6... | Line 4... | ||
6 | 4 | ||
Line 7... | Line 5... | ||
7 | This file is part of BFD, the Binary File Descriptor library. |
5 | This file is part of BFD, the Binary File Descriptor library. |
Line 190... | Line 188... | ||
190 | /* Object attribute tags. */ |
188 | /* Object attribute tags. */ |
191 | enum |
189 | enum |
192 | { |
190 | { |
193 | /* 0-3 are generic. */ |
191 | /* 0-3 are generic. */ |
194 | Tag_GNU_Sparc_HWCAPS = 4, |
192 | Tag_GNU_Sparc_HWCAPS = 4, |
- | 193 | Tag_GNU_Sparc_HWCAPS2 = 8 |
|
195 | }; |
194 | }; |
Line -... | Line 195... | ||
- | 195 | ||
196 | 196 | /* Generally speaking the ELF_SPARC_HWCAP_* and ELF_SPARC_HWCAP2_* |
|
- | 197 | values match the AV_SPARC_* and AV2_SPARC_* bits respectively. |
|
- | 198 | ||
- | 199 | However Solaris 11 introduced a backwards-incompatible change |
|
- | 200 | deprecating the RANDOM, TRANS and ASI_CACHE_SPARING bits in the |
|
- | 201 | AT_SUNW_CAP_HW1 flags, reusing the bits for the unrelated hwcaps |
|
- | 202 | FJATHHPC, FJDES and FJAES respectively. In GNU/Linux we opted to |
|
- | 203 | keep the old hwcaps in Tag_GNU_Sparc_HWCAPS and allocate bits for |
|
- | 204 | FJATHHPC, FJDES and JFAES in Tag_GNU_Sparc_HWCAPS2. */ |
|
197 | /* These values match the AV_SPARC_* hwcap bits defined under Solaris. */ |
205 | |
198 | #define ELF_SPARC_HWCAP_MUL32 0x00000001 /* umul/umulcc/smul/smulcc insns */ |
206 | #define ELF_SPARC_HWCAP_MUL32 0x00000001 /* umul/umulcc/smul/smulcc insns */ |
199 | #define ELF_SPARC_HWCAP_DIV32 0x00000002 /* udiv/udivcc/sdiv/sdivcc insns */ |
207 | #define ELF_SPARC_HWCAP_DIV32 0x00000002 /* udiv/udivcc/sdiv/sdivcc insns */ |
200 | #define ELF_SPARC_HWCAP_FSMULD 0x00000004 /* 'fsmuld' insn */ |
208 | #define ELF_SPARC_HWCAP_FSMULD 0x00000004 /* 'fsmuld' insn */ |
201 | #define ELF_SPARC_HWCAP_V8PLUS 0x00000008 /* v9 insns available to 32bit */ |
209 | #define ELF_SPARC_HWCAP_V8PLUS 0x00000008 /* v9 insns available to 32bit */ |
Line 226... | Line 234... | ||
226 | #define ELF_SPARC_HWCAP_MONT 0x04000000 /* Montgomery Mult/Sqrt */ |
234 | #define ELF_SPARC_HWCAP_MONT 0x04000000 /* Montgomery Mult/Sqrt */ |
227 | #define ELF_SPARC_HWCAP_PAUSE 0x08000000 /* Pause insn */ |
235 | #define ELF_SPARC_HWCAP_PAUSE 0x08000000 /* Pause insn */ |
228 | #define ELF_SPARC_HWCAP_CBCOND 0x10000000 /* Compare and Branch insns */ |
236 | #define ELF_SPARC_HWCAP_CBCOND 0x10000000 /* Compare and Branch insns */ |
229 | #define ELF_SPARC_HWCAP_CRC32C 0x20000000 /* CRC32C insn */ |
237 | #define ELF_SPARC_HWCAP_CRC32C 0x20000000 /* CRC32C insn */ |
Line -... | Line 238... | ||
- | 238 | ||
- | 239 | #define ELF_SPARC_HWCAP2_FJATHPLUS 0x00000001 /* Fujitsu Athena+ */ |
|
- | 240 | #define ELF_SPARC_HWCAP2_VIS3B 0x00000002 /* Subset of VIS3 present on sparc64 X+ */ |
|
- | 241 | #define ELF_SPARC_HWCAP2_ADP 0x00000004 /* Application Data Protection */ |
|
- | 242 | #define ELF_SPARC_HWCAP2_SPARC5 0x00000008 /* The 29 new fp and sub instructions */ |
|
- | 243 | #define ELF_SPARC_HWCAP2_MWAIT 0x00000010 /* mwait instruction and load/monitor ASIs */ |
|
- | 244 | #define ELF_SPARC_HWCAP2_XMPMUL 0x00000020 /* XOR multiple precision multiply */ |
|
- | 245 | #define ELF_SPARC_HWCAP2_XMONT 0x00000040 /* XOR Montgomery mult/sqr instructions */ |
|
- | 246 | #define ELF_SPARC_HWCAP2_NSEC \ |
|
- | 247 | 0x00000080 /* pause insn with support for nsec timings */ |
|
- | 248 | #define ELF_SPARC_HWCAP2_FJATHHPC 0x00001000 /* Fujitsu HPC instrs */ |
|
- | 249 | #define ELF_SPARC_HWCAP2_FJDES 0x00002000 /* Fujitsu DES instrs */ |
|
- | 250 | #define ELF_SPARC_HWCAP2_FJAES 0x00010000 /* Fujitsu AES instrs */ |
|
230 | 251 |