* Contribute Hitachi SH5 simulator.
[external/binutils.git] / sim / sh64 / ChangeLog
1 2001-07-05  Ben Elliston  <bje@redhat.com>
2
3         * Makefile.in (stamp-arch): Use $(CGEN_CPU_DIR).
4         (stamp-desc): Likewise.
5         (stamp-cpu): Likewise.
6         (stamp-defs-compact): Likewise.
7         (stamp-defs-media): Likewise.
8         (stamp-decode-compact): Likewise.
9         (stamp-decode-media): Likewise.
10
11 2001-03-30  Ben Elliston  <bje@redhat.com>
12
13         * sim-if.c (sim_open): Set sh64_idesc_{media,compact} to NULL.
14         * sh64-sim.h (sh64_idesc_{compact,media}): Declare extern.
15         * sh64.c (sh64_idesc_{compact,media}): Make non-static.
16
17 2001-01-30  Ben Elliston  <bje@redhat.com>
18
19         * sh64.c (SYS_argc, SYS_argn, SYS_argnlen): Define.
20         (trap_handler): Implement these syscalls.
21         (count_argc): New function.
22
23 2001-01-24  Alexandre Oliva  <aoliva@redhat.com>
24
25         * sh64.c (trap_handler): Implement time.
26
27         * sh64.c (fetch_str): New function.
28         (trap_handler): Re-implement write, and implement lseek, read,
29         open and close.
30
31 2001-01-18  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
32
33         * sh64.c (sh64_fetch_register): When fetching the PC, return the
34         PC value and set the LSB according to the current ISA.
35
36 2001-01-18  Ben Elliston  <bje@redhat.com>
37
38         * sh64.c (trap_handler): Use sim_engine_halt to indicate a program
39         has terminated, not exit!
40
41 2001-01-12  Ben Elliston  <bje@redhat.com>
42
43         * sh64.c (sh64_fcnvds): Re-implement.
44
45         * sh64.c: Include "bfd.h".
46         (trap_handler): New function. Consolidate function bodies of
47         sh64_trapa and sh64_compact_trapa.
48         (sh64_trapa): Use it.
49         (sh64_compact_trapa): Likewise.
50
51 2001-01-11  Ben Elliston  <bje@redhat.com>
52
53         * sem-media.c, sem-media-switch.c: Regenerate.
54         * sem-compact.c, sem-compact-switch.c: Likewise.
55
56         * sh64.c (sh64_trapa): Adhere to SH64 sys call conventions.
57
58         * cpu.h, sh-desc.c, sh-desc.h, sh-opc.h: Regenerate.
59         * decode-media.c, decode-media.h, defs-media.h: Likewise.
60         * sem-compact.c, sem-compact-switch.c: Likewise.
61         * sem-media.c, sem-media-switch.c: Likewise.
62
63 2001-01-10  Ben Elliston  <bje@redhat.com>
64
65         * sim-main.h (CIA_SET): Encode the current instruction set mode
66         when setting the cia.
67
68 2001-01-08  Ben Elliston  <bje@redhat.com>
69
70         * sh64.c (sh64_store_register): Do not set insn set mode--allow
71         sh64_h_pc_set() to do it.
72         (shmedia_init_cpu): Do not initialise the insn set mode--let the
73         loader set it based on bit 0 of the executable's starting address.
74         (shcompact_init_cpu): Likewise.
75         * mloop-compact.c (sh64_compact_pbb_begin): Emit a warning message
76         about malformed programs which have illegal insns in delay slots.
77         (sh64_compact_pbb_cti_chain): Examine the least significant bit of
78         the new pc, not the current instruction set mode to determine if
79         the next pbb in the chain will consist of SHmedia instructions.
80         * mloop-media.c (sh64_media_pbb_cti_chain): Likewise for SHcompact
81         switches. Set bit 0 when setting the pc for the next SHmedia pbb.
82
83         * cpu.c, cpu.h: Regenerate.
84         * sem-compact.c, sem-compact-switch.c: Likewise.
85         * sem-media.c, sem-media-switch.c: Likewise.
86
87         * sh64.c (sh64_compact_trapa): Use sim_io_write_{stdout,error}(),
88         not stdio functions to emit output when executing write traps.
89
90 2001-01-07  Alexandre Oliva  <aoliva@redhat.com>
91
92         * sh64.c (sh64_compact_trapa): Support writing to stderr.  Flush
93         output stream after each (compound) write.
94
95 2001-01-06  Ben Elliston  <bje@redhat.com>
96
97         * sem-media.c, sem-media-switch.c: Regenerate.
98
99 2001-01-04  Ben Elliston  <bje@redhat.com>
100
101         * sem-compact.c, sem-compact-switch.c: Regenerate.
102         * cpu.h: Regenerate.
103
104 2001-01-03  Ben Elliston  <bje@redhat.com>
105
106         * cpu.c, cpu.h: Regenerate.
107         * sem-media.c, sem-media-switch.c: Likewise.
108
109 2001-01-02  Ben Elliston  <bje@redhat.com>
110
111         * sim-if.c (sh64_disassemble_insn): Set arch and mach fields using
112         BFD primitives.
113
114         * sem-compact.c, sem-compact-switch.c: Regenerate.
115
116 2000-12-30  Alexandre Oliva  <aoliva@redhat.com>
117
118         * sh64.c (sh64_nsb): Re-implement correctly.
119
120 2000-12-26  Alexandre Oliva  <aoliva@redhat.com>
121
122         * sh64.c (sh64_nsb): Re-implement.
123
124 2000-12-27  Ben Elliston  <bje@redhat.com>
125
126         * cpu.c, cpu.h: Regenerate.
127         * sem-compact.c, sem-compact-switch.c: Likewise.
128         * sem-media.c, sem-media-switch.c: Likewise.
129         * sh-desc.c: Likewise.
130
131 2000-12-26  Ben Elliston  <bje@redhat.com>
132
133         * mloop-compact.in, mloop-media.in: Remove.
134         * mloop-compact.c, mloop-media.c: New files.
135         * eng-compact.c, eng-media.c: Likewise.
136         * Makefile.in (mloop-compact.c): Remove target.
137         (stamp-mloop-compact): Likewise.
138         (mloop-media.c): Likewise.
139         (stamp-mloop-media): Likewise.
140         (sh64-clean): Update.
141         (stamp-mloop): Remove.
142
143 2000-12-23  Ben Elliston  <bje@redhat.com>
144
145         * sh64.c (sh64_prepare_run): Rename from shmedia_prepare_run.
146         (shcompact_prepare_run): Remove.
147         (sh2_mach, sh3_mach, sh3e_mach, sh4_mach, sh5_mach): Update.
148
149 2000-12-22  Ben Elliston  <bje@redhat.com>
150
151         * sh64.c (sh64_idesc_media, sh64_idesc_compact): New variables.
152         (sh64_dump): Remove.
153         (sh64_engine_run_full): Only compute idesc tables once.
154         (sh64_engine_run_fast): Likewise.
155         (shmedia_prepare_run): Do nothing.
156         (shcompact_prepare_run): Likewise.
157
158         * sem-compact.c, sem-compact-switch.c: Regenerate.
159         * sem-media.c, sem-media-switch.c: Likewise.
160
161 2000-12-19  Ben Elliston  <bje@redhat.com>
162
163         * sem-media.c, sem-media-switch.c: Regenerate.
164
165 2000-12-15  Ben Elliston  <bje@redhat.com>
166
167         * sh64.c (sh64_store_register): When storing a new PC, set ISA
168         mode based on the value of bit 0.
169
170         * sh64.c: Include "sim-sh64.h" for GDB interfacing.
171         (sh64_fetch_register): Implement.
172         (sh64_store_register): Likewise.
173
174         * sh64-sim.h (sh64_fmacs): Declare.
175         (sh64_ftrcdl, sh64_ftrcdq, sh64_ftrcsl): Likewise.
176
177         * sem-media.c, sem-media-switch.c: Regenerate.
178
179 2000-12-13  Ben Elliston  <bje@redhat.com>
180
181         * sh64-sim.h (sh64_compact_trapa): Renamed from sh64_trapa.
182         (sh64_trapa): Renamed from sh64_trap.
183         * sh64.c (sh64_trapa): Call sh64_compact_trapa for handling.
184         Apply renaming described above.
185
186         * decode-media.c, decode-media.h, defs-media.h: Regenerate.
187         * sem-media.c sem-media-switch.c: Likewise.
188         * sh-desc.c, sh-desc.h, sh-opc.h: Likewise.
189
190 2000-12-12  Ben Elliston  <bje@redhat.com>
191
192         * cpu.c, cpu.h, sh-desc.c: Regenerate.
193         * sem-media.c, sem-media-switch.c: Likewise.
194         * sem-compact.c, sem-compact-switch.c: Likewise.
195         * sh64-sim.h (sh64_ftrvs): Declare.
196         * sh64.c (sh64_ftrvs): Bug fixes.
197
198         * sh64.c (sh64_fcmpgtd): Fix order of arguments to sim_fpu_is_gt.
199         (sh64_fcmpgts): Likewise.
200
201 2000-12-11  Ben Elliston  <bje@redhat.com>
202
203         * decode-media.c, decode-media.h: Regenerate.
204         * defs-media.h: Likewise.
205         * sem-media.c, sem-media-switch.c: Likewise.
206         * sh-desc.c: Likewise.
207
208 2000-12-08  Ben Elliston  <bje@redhat.com>
209
210         * decode-media.c, decode-media.h: Regenerate.
211         * defs-media.h: Likewise.
212         * sem-media.c, sem-media-switch.c: Likewise.
213
214 2000-12-07  Ben Elliston  <bje@redhat.com>
215
216         * decode-media.c, decode-media.h: Regenerate.
217         * sem-media.c, sem-media-switch.c: Likewise.
218
219         * defs-media.h: Regenete.
220         * decode-compact.c, decode-media.c: Likewise.
221
222 2000-12-06  Ben Elliston  <bje@redhat.com>
223
224         * sh64.c (sh64_fcmpund): Return a BI.
225         (sh64_fcmpuns): Likewise.
226         (sh64_nsb): Treat source value as unsigned.
227         (sh64_compact_model_insn_before): New function.
228         (sh64_media_model_insn_before): Likewise.
229         (sh64_compact_model_insn_after): Likewise.
230         (sh64_media_model_insn_after): Likewise.
231         (sh_models): Use sh5_mach for "sh5".
232         * sh64-sim.h: Add missing function prototypes.
233
234         * cpu.c, cpu.h, defs-media.h, sh-desc.c: Regenerate.
235         * decode-media.c, decode-media.h: Likewise.
236         * sem-media.c, sem-media-switch.c: Likewise.
237
238 2000-12-05  Ben Elliston  <bje@redhat.com>
239
240         * mloop-compact.in, mloop-media.in: Use @prefix@.
241         * Makefile.in (stamp-mloop-compact): Pass -outfile-suffix option
242         to make generated files safe in the presence of parallel makes.
243         (stamp-mloop-media): Likewise.
244
245         * decode-media.c, defs-media.h: Regenerate.
246
247 2000-12-04  Ben Elliston  <bje@redhat.com>
248
249         * sh64-sim.h: Add function prototypes from sh64.c.
250
251         * Makefile.in (SH64_OBJS): Add ISA variant objects.
252         (SIM_EXTRA_DEPS): Do not depend on opcodes headers.
253         (SH64_INCLUDE_DEPS): Update for ISA variants.
254         (stamp-mloop-compact, stamp-mloop-media): New targets.
255         (decode-compact.o, sem-compact.o): New rules.
256         (decode-media.o, sem-media.o): Likewise.
257         (sh64-clean): Update.
258         (stamp-all, stamp-mloop, stamp-decode, stamp-defs): New targets.
259         (stamp-desc, stamp-cpu): Likewise.
260         (stamp-defs-compact, stamp-defs-media): Likewise.
261         (stamp-decode-compact, stamp-decode-media): Likewise.   
262
263         * defs-compact.h, defs-media.h: Regenerate.
264
265 2000-12-03  Ben Elliston  <bje@redhat.com>
266
267         * sh64-sim.h (sh64_fcmpeqd, sh64_fcmpeqs): Declare.
268         (sh64_fcmpged, sh64_fcmpges): Likewise.
269         (sh64_fcmpgtd, sh64_fcmpgts): Likewise.
270
271         * sh64.c (sh64_endian): New function.
272         (sh64_fcmpeqd, sh64_fcmpeqs): Return a BI.
273         (sh64_fcmpged, sh64_fcmpges): Likewise.
274         (sh64_fcmpgtd, sh64_fcmpgts): Likewise.
275         (sh64_trap): Implement a basic syscall facility.
276         (sh64_trapa): Exit with return code in R5, not 0.
277         (sh64_model_sh5_u_exec): Remove.
278         (sh64_engine_run_full): New function.
279         (sh64_engine_run_fast): Likewise.
280         (shmedia_prepare_run): Likewise.
281         (shcompact_prepare_run): Likewise.
282         (sh64_get_idata): Likewise.
283         (sh64_init_cpu): Likewise.
284         (shmedia_init_cpu): Likewise.
285         (shcompact_init_cpu): Likewise.
286         (sh64_model_init): Likewise.
287         (sh_models): Define.
288         (sh5_imp_properties): Likewise.
289         (sh2_mach, sh3_mach, sh4_mach, sh5_mach): Define.
290
291         * sem-compact.c, sem-compact-switch.c: Regenerate.
292
293 2000-12-01  Ben Elliston  <bje@redhat.com>
294
295         * sh64-sim.h (sh64_endian): Declare.
296         * sim-main.h (sim_cia): Use UDI, not USI.
297         (WITH_PROFILE_MODEL_P): Remove.
298         * sim-if.c (sim_sh64_disassemble_insn): Remove.
299         (sh64_disassemble_insn): New function.
300         (sim_open): Use as this CPU's disassembler.
301         * eng.h: New file.
302         * decode.h (WITH_PROFILE_MODEL_P): Undefine.
303
304         * decode-compact.c, decode-media.c: Regenerate.
305         * defs-compact.h, defs-media.h: Likewise.
306         * sem-compact.c, sem-compact-switch.c: Likewise.
307         * sh-desc.c, sh-desc.h: Likewise.
308         * cpu.c, cpu.h, cpuall.h: Likewise.
309
310 2000-11-30  Ben Elliston  <bje@redhat.com>
311
312         * arch.c, sh-desc.c, sh-desc.h: Regenerate.
313
314         * tconfig.in (SIM_HAVE_BIENDIAN): Define.
315         * configure.in (SIM_AC_OPTION_BIGENDIAN): Do not hard-wire a
316         target byte order, but default to big endian.
317         * configure: Regenerate.
318
319 2000-11-27  Ben Elliston  <bje@redhat.com>
320
321         * sim-main.h (WITH_PROFILE_MODEL_P): Define.
322         * sh64-sim.h (ISM_COMPACT, ISM_MEDIA): New enums.
323
324         * sh-desc.c, sh-desc.h: Regenerate.
325         * arch.c, cpu.h, cpuall.h: Regenerate.
326         * decode.h (WITH_PROFILE_MODEL_P): Remove.
327
328         * mloop-compact.in, mloop-media.in: New files.
329         * decode.h: Likewise.
330
331 2000-11-26  Ben Elliston  <bje@redhat.com>
332
333         * sem-compact.c, sem-compact-switch.c: Generate.
334         * sem-media.c, sem-media-switch.c: Likewise.
335
336 2000-11-25  Ben Elliston  <bje@redhat.com>
337
338         * sh-desc.c, sh-desc.h, sh-opc.h: Generate.
339
340         * arch.c, arch.h, cpuall.h, cpu.c, cpu.h: Generate.
341         * decode-compact.c, decode-compact.h: Likewise.
342         * decode-media.c, decode-media.h: Likewise.
343         * sh64-sim.h: New file.
344         * sim-main.h: Likewise.
345
346 2000-11-22  Ben Elliston  <bje@redhat.com>
347
348         * sim-if.c: New file.
349         * sh64.c: Likewise.
350
351 2000-11-16  Ben Elliston  <bje@redhat.com>
352
353         * config.in: New file.
354         * tconfig.in: Likewise.
355         * configure.in: Likewise.
356         * configure: Generate.
357         * Makefile.in: New file.