diff options
author | Nathan Sidwell <nathan@codesourcery.com> | 2006-02-07 19:01:10 +0000 |
---|---|---|
committer | Nathan Sidwell <nathan@codesourcery.com> | 2006-02-07 19:01:10 +0000 |
commit | 266abb8f7255c87cbbd1e38c12ed7783a6d6e0de (patch) | |
tree | d186f583f8a81d8bee8d0023302fcc51c89b2743 /include/opcode | |
parent | f4d408c6536f7d3848aaa7ed9e00ca1059d75987 (diff) | |
download | gdb-266abb8f7255c87cbbd1e38c12ed7783a6d6e0de.zip gdb-266abb8f7255c87cbbd1e38c12ed7783a6d6e0de.tar.gz gdb-266abb8f7255c87cbbd1e38c12ed7783a6d6e0de.tar.bz2 |
* bfd/archures.c (bfd_mach_mcf5200, bfd_mach_mcf5206e,
bfd_mach_mcf5307, bfd_mach_mcf5407, bfd_mach_mcf528x,
bfd_mach_mcfv4e, bfd_mach_mcf521x, bfd_mach_mcf5249,
bfd_mach_mcf547x, bfd_mach_mcf548x): Remove.
(bfd_mach_mcf_isa_a, bfd_mach_mcf_isa_a_div,
bfd_mach_mcf_isa_a_div_mac, bfd_mach_mcf_isa_a_div_emac,
bfd_mach_mcf_isa_aplus, bfd_mach_mcf_isa_aplus_mac,
bfd_mach_mcf_isa_aplus_emac, bfd_mach_mcf_isa_aplus_usp,
bfd_mach_mcf_isa_aplus_usp_mac, bfd_mach_mcf_isa_aplus_usp_emac,
bfd_mach_mcf_isa_b, bfd_mach_mcf_isa_b_mac, bfd_mach_mcf_isa_b_emac,
bfd_mach_mcf_isa_b_usp_float, bfd_mach_mcf_isa_b_usp_float_mac,
bfd_mach_mcf_isa_b_usp_float_emac): New.
(bfd_default_scan): Update coldfire mapping.
* bfd/bfd-in.h (bfd_m68k_mach_to_features,
bfd_m68k_features_to_mach): Declare.
* bfd/bfd-in2.h: Rebuilt.
* bfd/cpu-m68k.c (arch_info_struct): Add new coldfire machines,
adjust legacy names.
(m68k_arch_features): New.
(bfd_m68k_mach_to_features,
bfd_m68k_features_to_mach): Define.
* bfd/elf32-m68k.c (elf32_m68k_object_p): New.
(elf32_m68k_merge_private_bfd_data): Merge the CF EF flags.
(elf32_m68k_print_private_bfd_data): Print the CF EF flags.
(elf_backend_object_p): Define.
* bfd/ieee.c (ieee_write_processor): Update coldfire machines.
* bfd/libbfd.h: Rebuilt.
* gas/config/tc-m68k.c (mcf5208_control_regs, mcf5213_control_regs,
mcf5329_control_regs): New.
(not_current_architecture, selected_arch, selected_cpu): New.
(m68k_archs, m68k_extensions): New.
(archs): Renamed to ...
(m68k_cpus): ... here. Adjust.
(n_arches): Remove.
(md_pseudo_table): Add arch and cpu directives.
(find_cf_chip, m68k_ip): Adjust table scanning.
(no_68851, no_68881): Remove.
(md_assemble): Lazily initialize.
(select_control_regs): Adjust cpu names. Add 5208, 5213, 5329.
(md_init_after_args): Move functionality to m68k_init_arch.
(mri_chip): Adjust table scanning.
(md_parse_option): Reimplement 'm' processing to add -march & -mcpu
options with saner parsing.
(m68k_lookup_cpu, m68k_set_arch, m68k_set_cpu, m68k_set_extension,
m68k_init_arch): New.
(s_m68k_cpu, s_m68k_arch): New.
(md_show_usage): Adjust.
(m68k_elf_final_processing): Set CF EF flags.
* gas/config/tc-m68k.h (m68k_init_after_args): Remove.
(tc_init_after_args): Remove.
* gas/doc/c-m68k.texi (M68K-Opts): Document -march, -mcpu options.
(M68k-Directives): Document .arch and .cpu directives.
* gas/testsuite/gas/m68k/all.exp: Add arch-cpu-1 test.
* gas/testsuite/gas/m68k/arch-cpu-1.[sd]: New.
* include/elf/m68k.h (EF_CPU32, EF_M68000, EF_CFV4E): Rename to ...
(EF_M68K_CPU32, EF_M68K_M68000, EF_M68K_CFV4E): ... here.
(EF_M68K_ISA_MASK, EF_M68K_ISA_A, EF_M68K_M68K_ISA_A_PLUS,
EF_M68K_ISA_B, EF_M68K_HW_DIV, EF_M68K_MAC_MASK, EF_M68K_MAC,
EF_M68K_EMAC, EF_M68K_USP, EF_M68K_FLOAT): New.
* include/opcode/m68k.h (m68008, m68ec030, m68882): Remove.
(m68k_mask): New.
(cpu_m68k, cpu_cf): New.
(mcf5200, mcf5206e, mcf521x, mcf5249, mcf528x, mcf5307, mcf5407,
mcf5470, mcf5480): Rename to cpu_<foo>. Add m680x0 variants.
* opcodes/m68k-dis.c (print_insn_m68k): Use
bfd_m68k_mach_to_features.
* binutils/readelf.c (get_machine_flags): Add logic for EF_M68K flags.
Diffstat (limited to 'include/opcode')
-rw-r--r-- | include/opcode/m68k.h | 60 |
1 files changed, 42 insertions, 18 deletions
diff --git a/include/opcode/m68k.h b/include/opcode/m68k.h index 84bef98..0d21658 100644 --- a/include/opcode/m68k.h +++ b/include/opcode/m68k.h @@ -1,6 +1,6 @@ /* Opcode table header for m680[01234]0/m6888[12]/m68851. Copyright 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1999, 2001, - 2003, 2004 Free Software Foundation, Inc. + 2003, 2004, 2006 Free Software Foundation, Inc. This file is part of GDB, GAS, and the GNU binutils. @@ -23,19 +23,15 @@ structure. */ #define _m68k_undef 0 #define m68000 0x001 -#define m68008 m68000 /* Synonym for -m68000. otherwise unused. */ #define m68010 0x002 #define m68020 0x004 #define m68030 0x008 -#define m68ec030 m68030 /* Similar enough to -m68030 to ignore differences; - gas will deal with the few differences. */ #define m68040 0x010 -/* There is no 68050. */ #define m68060 0x020 #define m68881 0x040 -#define m68882 m68881 /* Synonym for -m68881. otherwise unused. */ #define m68851 0x080 #define cpu32 0x100 /* e.g., 68332 */ +#define m68k_mask 0x1ff #define mcfmac 0x200 /* ColdFire MAC. */ #define mcfemac 0x400 /* ColdFire EMAC. */ @@ -47,26 +43,54 @@ #define mcfisa_b 0x8000 /* ColdFire ISA_B. */ #define mcfusp 0x10000 /* ColdFire USP instructions. */ -#define mcf5200 0x20000 -#define mcf5206e 0x40000 -#define mcf521x 0x80000 -#define mcf5249 0x100000 -#define mcf528x 0x200000 -#define mcf5307 0x400000 -#define mcf5407 0x800000 -#define mcf5470 0x1000000 -#define mcf5480 0x2000000 - - /* Handy aliases. */ +/* Handy aliases. */ #define m68040up (m68040 | m68060) #define m68030up (m68030 | m68040up) #define m68020up (m68020 | m68030up) #define m68010up (m68010 | cpu32 | m68020up) #define m68000up (m68000 | m68010up) -#define mfloat (m68881 | m68882 | m68040 | m68060) +#define mfloat (m68881 | m68040 | m68060) #define mmmu (m68851 | m68030 | m68040 | m68060) +/* CPU numbering. There are too many of these to use a bit vector. + These are a one-of-many selection. Choose a numbering scheme that + simply maps onto manufacturer's part numbers. */ + +/* All m68k cpus */ +#define cpu_m68k 0 +/* All coldfire cpus */ +#define cpu_cf 1000000 + +#define cpu_m68000 (cpu_m68k + 68000) +#define cpu_m68008 cpu_m68000 /* Synonym for -m68000. otherwise unused. */ +#define cpu_m68010 (cpu_m68k + 68010) +#define cpu_m68020 (cpu_m68k + 68020) +#define cpu_m68030 (cpu_m68k + 68030) +#define cpu_m68ec030 cpu_m68030 /* Similar enough to -m68030 to ignore + differences; gas will deal with the few + differences. */ +#define cpu_m68040 (cpu_m68k + 68040) +/* There is no 68050. */ +#define cpu_m68060 (cpu_m68k + 68060) +#define cpu_m68851 (cpu_m68k + 68851) +#define cpu_m68881 (cpu_m68k + 68881) +#define cpu_m68882 cpu_m68881 /* Synonym for -m68881. otherwise unused. */ +#define cpu_cpu32 (cpu_m68k + 32) + +#define cpu_cf5200 (cpu_cf + 5200) +#define cpu_cf5206e (cpu_cf + 5206) +#define cpu_cf5208 (cpu_cf + 5208) +#define cpu_cf521x (cpu_cf + 5210) +#define cpu_cf5213 (cpu_cf + 5213) +#define cpu_cf5249 (cpu_cf + 5249) +#define cpu_cf528x (cpu_cf + 5280) +#define cpu_cf5307 (cpu_cf + 5307) +#define cpu_cf5329 (cpu_cf + 5329) +#define cpu_cf5407 (cpu_cf + 5407) +#define cpu_cf547x (cpu_cf + 5470) +#define cpu_cf548x (cpu_cf + 5480) + /* The structure used to hold information for an opcode. */ struct m68k_opcode |