Make RL78 disassembler and simulator respect ISA for mul/div
authorDJ Delorie <dj@redhat.com>
Thu, 30 Apr 2015 19:25:49 +0000 (15:25 -0400)
committerDJ Delorie <dj@redhat.com>
Thu, 30 Apr 2015 19:25:49 +0000 (15:25 -0400)
commit0952813b0b27abe7f53a8048c0218883412e54cd
tree5407096ab234c7abec96a530789cd5bdb7069077
parentb49f93f6995a5d23c752db103902314d4e23f761
Make RL78 disassembler and simulator respect ISA for mul/div

[gas]
* config/rl78-defs.h (rl78_isa_g10): New.
(rl78_isa_g13): New.
(rl78_isa_g14): New.
* config/rl78-parse.y (ISA_G10): New.
(ISA_G13): New.
(ISA_G14): New.
(MULHU, MULH, MULU, DIVHU, DIVWU, MACHU, MACH): Use them.
* config/tc-rl78.c (rl78_isa_g10): New.
(rl78_isa_g13): New.
(rl78_isa_g14): New.

[gdb]
* rl78-tdep.c (rl78_analyze_prologue): Pass RL78_ISA_DEFAULT to
rl78_decode_opcode

[include]
* dis-asm.h (print_insn_rl78_g10): New.
(print_insn_rl78_g13): New.
(print_insn_rl78_g14): New.
(rl78_get_disassembler): New.
* opcode/rl78.h (RL78_Dis_Isa): New.
(rl78_decode_opcode): Add ISA parameter.

[opcodes]
* disassemble.c (disassembler): Choose suitable disassembler based
on E_ABI.
* rl78-decode.opc (rl78_decode_opcode): Take ISA parameter.  Use
it to decode mul/div insns.
* rl78-decode.c: Regenerate.
* rl78-dis.c (print_insn_rl78): Rename to...
(print_insn_rl78_common): ...this, take ISA parameter.
(print_insn_rl78): New.
(print_insn_rl78_g10): New.
(print_insn_rl78_g13): New.
(print_insn_rl78_g14): New.
(rl78_get_disassembler): New.

[sim]
* rl78/cpu.c (g14_multiply): New.
* rl78/cpu.h (g14_multiply): New.
* rl78/load.c (rl78_load): Decode ISA completely.
* rl78/main.c (main): Expand -M to include other ISAs.
* rl78/rl78.c (decode_opcode): Decode based on ISA.
* rl78/trace.c (rl78_disasm_fn): New.
(sim_disasm_init): Reset it.
(sim_disasm_one): Get correct disassembler for ISA.
24 files changed:
gas/ChangeLog
gas/config/rl78-defs.h
gas/config/rl78-parse.y
gas/config/tc-rl78.c
gdb/ChangeLog
gdb/rl78-tdep.c
include/ChangeLog
include/dis-asm.h
include/opcode/ChangeLog
include/opcode/rl78.h
opcodes/ChangeLog
opcodes/disassemble.c
opcodes/rl78-decode.c
opcodes/rl78-decode.opc
opcodes/rl78-dis.c
sim/rl78/ChangeLog
sim/rl78/cpu.c
sim/rl78/cpu.h
sim/rl78/gdb-if.c
sim/rl78/load.c
sim/rl78/main.c
sim/rl78/mem.c
sim/rl78/rl78.c
sim/rl78/trace.c
This page took 0.039039 seconds and 4 git commands to generate.