diff options
author | Andrew Burgess <andrew.burgess@embecosm.com> | 2016-03-15 21:51:50 +0000 |
---|---|---|
committer | Andrew Burgess <andrew.burgess@embecosm.com> | 2016-03-21 16:44:49 +0000 |
commit | 8699fc3e88de47be12401fd366fbe1ee0c4294c7 (patch) | |
tree | 7459f723fbf2994958b03ffb5a6f524525d84381 /include | |
parent | a9522a2168c8233e8f15c42a32e7376c2a40ac12 (diff) | |
download | gdb-8699fc3e88de47be12401fd366fbe1ee0c4294c7.zip gdb-8699fc3e88de47be12401fd366fbe1ee0c4294c7.tar.gz gdb-8699fc3e88de47be12401fd366fbe1ee0c4294c7.tar.bz2 |
arc: Add nps400 machine type, and assembler flag.
This commit introduces the nps400 machine type as a variant of arc.
There's a new flag in the assembler to select this machine type. All
other changes are just adding handling of the new machine type into the
relevant places.
The nps400 is an arc700 variant with some vendor specific instructions
added into the instruction set. This commit does not add any of the new
instructions, this is just laying the groundwork for future commits.
However, in preparation for these new instructions a new opcode define for
nps400 has been added to include/opcode/arc.h, this new opcode define is
used in the assembler and disassembler along with the existing define
for arc700 such that when assembling and disassembling for nps400 the
user will have access to all arc700 instructions and all the nps400
vendor extension instructions.
bfd/ChangeLog:
* archures.c (bfd_mach_arc_nps400): Define.
* bfd-in2.h: Regenerate.
* cpu-arc.c (arch_info_struct): New entry for nps400, renumber
some existing entries to make space.
* elf32-arc.c (arc_elf_object_p): Add nps400 case.
(arc_elf_final_write_processing): Likewise.
binutils/ChangeLog:
* readelf.c (decode_ARC_machine_flags): Handle nps400.
gas/ChangeLog:
* config/tc-arc.c (cpu_types): Add nps400 entry.
(check_zol): Handle nps400.
include/ChangeLog:
* elf/arc.h (E_ARC_MACH_NPS400): Define.
* opcode/arc.h (ARC_OPCODE_NPS400): Define.
opcodes/ChangeLog:
* arc-dis.c (print_insn_arc): Handle nps400.
Diffstat (limited to 'include')
-rw-r--r-- | include/ChangeLog | 5 | ||||
-rw-r--r-- | include/elf/arc.h | 1 | ||||
-rw-r--r-- | include/opcode/arc.h | 1 |
3 files changed, 7 insertions, 0 deletions
diff --git a/include/ChangeLog b/include/ChangeLog index c8d14d6..3ac5b72 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,5 +1,10 @@ 2016-03-21 Andrew Burgess <andrew.burgess@embecosm.com> + * elf/arc.h (E_ARC_MACH_NPS400): Define. + * opcode/arc.h (ARC_OPCODE_NPS400): Define. + +2016-03-21 Andrew Burgess <andrew.burgess@embecosm.com> + * elf/arc.h (EF_ARC_CPU_GENERIC): Delete. Update related comment. 2016-03-21 Andrew Burgess <andrew.burgess@embecosm.com> diff --git a/include/elf/arc.h b/include/elf/arc.h index 47381f3..2aed25d 100644 --- a/include/elf/arc.h +++ b/include/elf/arc.h @@ -48,6 +48,7 @@ END_RELOC_NUMBERS (R_ARC_max) #define E_ARC_MACH_ARC600 0x00000002 #define E_ARC_MACH_ARC601 0x00000004 #define E_ARC_MACH_ARC700 0x00000003 +#define E_ARC_MACH_NPS400 0x00000007 #define EF_ARC_CPU_ARCV2EM 0x00000005 #define EF_ARC_CPU_ARCV2HS 0x00000006 diff --git a/include/opcode/arc.h b/include/opcode/arc.h index d33b878..85ea735 100644 --- a/include/opcode/arc.h +++ b/include/opcode/arc.h @@ -132,6 +132,7 @@ extern const unsigned arc_num_opcodes; #define ARC_OPCODE_ARC700 0x0002 /* ARC 700 specific insns. */ #define ARC_OPCODE_ARCv2EM 0x0004 /* ARCv2 EM specific insns. */ #define ARC_OPCODE_ARCv2HS 0x0008 /* ARCv2 HS specific insns. */ +#define ARC_OPCODE_NPS400 0x0010 /* NPS400 specific insns. */ /* CPU extensions. */ #define ARC_EA 0x0001 |