Enable --alignment option, stop sim-options.c hardwiring the alignment.
[platform/upstream/binutils.git] / sim / v850 / ChangeLog
1 Mon Sep 22 11:46:20 1997  Andrew Cagney  <cagney@b1.cygnus.com>
2
3         * configure: Regenerated to track ../common/aclocal.m4 changes.
4         * configure.in: Really specify NONSTRICT_ALIGNMENT as the default.
5
6 Fri Sep 19 17:45:25 1997  Andrew Cagney  <cagney@b1.cygnus.com>
7
8         * configure.in: Specify NONSTRICT_ALIGNMENT as the default.
9         * configure: Regenerated to track ../common/aclocal.m4 changes.
10
11 Fri Sep 19 10:37:20 1997  Andrew Cagney  <cagney@b1.cygnus.com>
12
13         * v850.igen (disp16): Use EXTEND16 to sign extend disp.
14         (disp22): Only shift left by 1, not 2.
15         ("jmp"): Ensure PC is 2 byte aligned.
16
17         * simops.c, v850.igen: Move "Bcond", "jr", "jarl" code to
18         v850.igen. Fix tracing.
19
20         * simops.c (OP_300, OP_400, OP_500): Move "sdl.b", "sld.h",
21         "sld.w" insns to v850.igen.  Fix tracing.
22 start-sanitize-v850eq
23         (OP_70): Ditto for "sld.hu".
24 end-sanitize-v850eq
25
26         * v850.igen: Clarify tracing of "sld.b", "sld.h" et.al.
27
28 end-sanitize-v850eq
29         * simops.c (condition_met): Make global.
30
31         * sim-main.h (TRACE_ALU_INPUT3, TRACE_BRANCH0, TRACE_LD,
32         TRACE_ST): Define.
33 start-sanitize-v850eq
34         (TRACE_LD_NAME): Define.
35 end-sanitize-v850eq
36
37 start-sanitize-v850e
38         * simops.c: Move "cmov", "cmov imm" to v850.igen, fix.
39
40 end-sanitize-v850e
41 Wed Sep 17 16:21:08 1997  Andrew Cagney  <cagney@b1.cygnus.com>
42
43         * simops.c: Move "mov", "reti", to v850.igen, fix tracing.
44         
45         * interp.c (hash): Delete.
46
47         * v850.igen (nop): Really do nothing.
48
49         * interp.c (do_interrupt): Mask interrupts after PSW is saved, not
50         before.
51         * v850.igen (reti): Return to current PC not previous.
52
53 start-sanitize-v850e
54 Wed Sep 17 14:02:10 1997  Andrew Cagney  <cagney@b1.cygnus.com>
55
56         * simops.c: Move "ctret", "bsw", "hsw" to v850.igen, fix tracing.
57         (trace_module): Global, save component/module name across insn.
58
59         * simops.c: Move "bsh" to v850.igen, fix.
60         
61         * v850.igen (callt): Load correct number of bytes. Fix tracing.
62         (stsr, ldsr): Correct src, dest fields. Fix tracing.
63         (ctret): Force alignment.  Fix tracing.
64         
65 end-sanitize-v850e
66 Tue Sep 16 22:14:01 1997  Andrew Cagney  <cagney@b1.cygnus.com>
67
68         * simops.c (trace_output): Add result argument.
69         (trace_result): New function.  Simpler version of trace_output,
70         assumes trace needed.
71         (trace_output): Call trace_result.
72         (trace_output): For IMM_REG_REG, trace correct register.
73         (trace_input): Add case for 16bit immediates.
74         (OP_600, OP_640, OP_680, OP_6C0, OP_6A0): Use.
75
76         * sim-main.h (TRACE_ALU_INPUT, TRACE_ALU_RESULT): Define.
77         (trace_values, trace_name, trace_pc, trace_num_values): Make
78         global.
79         (GR, SR): Define.
80         
81         v850.insn (movea, stsr): Use.
82 start-sanitize-v850e
83         (sxb, sxh, zxb, zxh): Ditto.
84 end-sanitize-v850e
85         
86 Tue Sep 16 21:14:01 1997  Andrew Cagney  <cagney@b1.cygnus.com>
87
88         * simops.c: Move "movea" from here.
89         * v850.igen: To here.
90
91         * v850.igen (simm16): Define, sign extend imm16.
92         (uimm16): Define, no sign extension.
93         (addi, andi, movea, movhi, mulhi, ori, satsubi, xori): Use.
94         
95 start-sanitize-v850e
96         * simops.c: Move "sxh", "switch", "sxb", "callt", "dispose",
97         "mov32" from here.
98         * v850.igen: To here.
99         (switch): Fix off by two error in NIA calc.
100         
101 end-sanitize-v850e
102 Tue Sep 16 15:14:01 1997  Andrew Cagney  <cagney@b1.cygnus.com>
103
104         * simops.c (trace_pc, trace_name, trace_values, trace_num_values):
105         New static globals.
106         (trace_input): Just save pc, name and values for trace_output.
107         (trace_output): Write trace values to a buffer.  Use
108         trace_one_insn to print trace info and buffer.
109         (SIZE_OPERANDS, SIZE_LOCATION): Delete.
110         
111 Tue Sep 16 09:02:00 1997  Andrew Cagney  <cagney@b1.cygnus.com>
112
113         * sim-main.h (struct _sim_cpu): Add psw_mask so that reserved bits
114         can be masked out.
115
116         * simops.c (OP_2007E0, OP_4007E0): Move "ldsr", "stsr"
117         instructions from here.
118         * v850.igen (ldsr, stsr): To here.  Mask out reserved bits when
119         setting PSW.
120         
121         * interp.c (sim_open): Set psw_mask if machine known.
122
123 Tue Sep 16 10:20:00 1997  Andrew Cagney  <cagney@b1.cygnus.com>
124
125 start-sanitize-v850e
126         * v850-dc: Add rule to diferentiate between breakpoint and divh.
127         * v850.igen (break): New instruction, breakpoint simulator.
128
129 end-sanitize-v850e
130         * v850.igen (breakpoint): Enable.  Change to a 32bit instruction.
131
132 start-sanitize-v850e
133 Mon Sep 15 18:44:05 1997  Jim Wilson  <wilson@cygnus.com>
134
135         * simops.c (Multiply64): Don't store into register zero.
136
137 end-sanitize-v850e
138 Tue Sep 16 09:02:00 1997  Andrew Cagney  <cagney@b1.cygnus.com>
139
140         * Makefile.in (semantics.o): Add dependency.
141
142         * sim-main.h (SAVE_1, SAVE_2): Perform backward compatible save,
143         do not adjust CIA/NIA.
144
145 Mon Sep 15 17:36:15 1997  Andrew Cagney  <cagney@b1.cygnus.com>
146
147 start-sanitize-v850eq
148         * simops.c (OP_300, OP_400, OP_70): Make behavour depend on PSW[US].
149         
150         * simops.c: Move "divun", "sld.bu", "divhn", "divhun", "divn",
151         "divun", "pushml" code from here to v850.igen.
152         (divun): Make global.
153         (type3_regs): Make global
154         
155         * v850.igen: Move simops.c code to here.
156
157         * interp.c (sim_create_inferior): For v850eq set US bit by
158         default.
159
160 end-sanitize-v850eq
161 start-sanitize-v850e
162         * interp.c (sim_open): Don't set arch, now set by
163         sim_analyze_program.
164
165 end-sanitize-v850e
166         * configure: Regenerated to track ../common/aclocal.m4 changes.
167
168 Mon Sep 15 14:39:34 1997  Andrew Cagney  <cagney@b1.cygnus.com>
169
170         * simops.c (op_types): Move from here.
171         sim-main.h: To here.
172
173         * sim-main.h (trace_input, trace_output), simops.c: Make global.
174
175         * simops.c (OP_60): Move "jmp" code from here.
176         * v850.igen (jmp): To here.
177
178 start-sanitize-v850eq
179         * simops.c (OP_60): Move "sld.bu" code from here.
180         * v850.igen (sld.bu): To here.
181
182 end-sanitize-v850eq
183 Fri Sep 12 15:11:03 1997  Andrew Cagney  <cagney@b1.cygnus.com>
184
185 start-sanitize-v850eq
186         * v850.igen (prepare, ...): Add to v850eq architecture.
187
188 end-sanitize-v850eq
189 start-sanitize-v850e
190         * interp.c (sim_open): Default to v850eq.
191         
192 end-sanitize-v850e
193 start-sanitize-v850eq
194         
195         * interp.c (sim_open): Default to v850e.
196 end-sanitize-v850eq
197         * sim-main.h (signal.h): Include.
198
199         * v850.igen (illegal): Report/halt illegal instructions.
200
201         * Makefile.in (SIM_EXTRA_CFLAGS): Add SIM_RESERVED_BITS.
202
203         * configure.in: Add reserved bits option.
204         * configure: Regenerate.
205
206 Thu Sep 11 08:40:03 1997  Andrew Cagney  <cagney@b1.cygnus.com>
207
208         * interp.c (sim_open): Use sim_do_commandf instead of asprintf.
209
210         * sim-main.h (INSN_NAME): 
211
212         * Makefile.in (INCLUDE): Add SIM_EXTRA_DEPS.
213         (SIM_EXTRA_DEPS): Add itable.h
214         (tmp-gencode): Does not depend on simops.h
215
216         * sim-main.h (itable.h): Include.
217         (MAX_INSNS, INSN_NAME): Define.
218
219         * interp.c: Compute inttype from the interrupt_names index that
220         was passed in.
221
222 Wed Sep 10 10:25:40 1997  Andrew Cagney  <cagney@b1.cygnus.com>
223
224         * simops.c (trace_input): Use trace_printf instead of
225         sim_io_printf.
226         (trace_output): Ditto.
227         (trace_input): Only trace when TRACE_ALU_P.  Delete code
228         disasembling instruction.
229         (trace_output): Only trace when TRACE_ALU_P.
230
231 Tue Sep  9 01:29:50 1997  Andrew Cagney  <cagney@b1.cygnus.com>
232
233         * simops.c (trace_input, trace_output): Use sim_io_printf.
234         (OP_620): Pass correct argument to trace.
235         (OP_E607E0): Ditto.
236         (trace_input): Obtain prog_bfd, text_start et.al from simulator
237         struct.
238
239 Mon Sep  8 21:03:52 1997  Andrew Cagney  <cagney@b1.cygnus.com>
240
241         * v850.igen: New file.
242         * v850-dc: New file.
243
244 Mon Sep  8 18:33:04 1997  Andrew Cagney  <cagney@b1.cygnus.com>
245
246
247         * sim-main.h (SEXT16): Delete, use EXTEND16.
248         (SEXT8): Delete, use EXTEND8.
249         (SEXT32): Delete, used?
250         (SEXT40, SEXT44, SEXT64): Use UNSIGNED64 for constants, not ...LL.
251         (WITH_TARGET_WORD_MSB): Define as 31. v850 little bit endian.
252         
253         * simops.c: Use EXTEND15 from sim-bits instead of SEXT16.
254
255         * sim-main.h (DEBUG_TRACE, DEBUG_VALUES, v850_debug): Delete,
256         replace with TRACE_INSN_P and TRACE_ALU_P.
257
258         * simops.c (trace_input, trace_output): Update.
259
260         * interp.c (sim_engine_run): Delete.
261         (lookup_hash): Delete.
262         (sim_open): Do not fill hash table.
263         (sim_trace): Delete.
264
265 Fri Sep  5 17:04:48 1997  Andrew Cagney  <cagney@b1.cygnus.com>
266
267         * simops.c (OP_FFFF): Use sim_engine_halt.
268         (OP_12007E0): Ditto.
269         (OP_10007E0): Ditto.
270
271         * sim-main.h (struct sim_cpu): Delete member exception. Using
272         sim-engine et.al.
273
274         * interp.c (sim_info): Do not do anything in sim-info.
275         (sim_stop): Delete, replace with sim-stop.
276         (sim_stop_reason): Delete, replace with sim-reason.
277
278         * sim-main.h (WITH_WATCHPOINTS): Define.
279         (WITH_MODULO_MEMORY): Define
280         
281         * Makefile.in (SIM_OBJS): Add sim-resume, sim-watch, sim-stop,
282         sim-reason.
283
284         * interp.c (enum interrupt_cond_type): Delete.
285         (struct interrupt_generator): Delete.
286         (enum interrupt_type): Drop int_none.
287         (sim_open): Initialize WATCHPOINT module.
288         (sim_resume, sim_run): Rename sim_resume to sim_run.
289         (sim_engine_run): Replace interrupt code with call to sim-events.
290         (sim_set_interrupt): Delete.
291         (sim_parse_number): Delete.
292
293 Thu Sep  4 17:21:23 1997  Doug Evans  <dje@seba>
294
295         * configure: Regenerated to track ../common/aclocal.m4 changes.
296
297 Thu Sep  4 18:11:37 1997  Andrew Cagney  <cagney@b1.cygnus.com>
298
299         * simops.c (fetch_argv): New function, fetch a arg vector from
300         simulator memory.
301
302         * configure.in: Check for fork, execve, execv.
303         * configure: Regenerate.
304
305         * interp.c (sim_store_register, sim_fetch_register): Use H2T_4 and
306         T2H_4 for byte swapping.
307
308         * sim-main.h, interp.c (get_word, get_half, get_byte, put_word,
309         put_half, put_byte): Delete.
310
311         * Makefile.in (SIM_OBJS): Add sim-memopt.o module.
312
313         * sim-main.h (load_mem, store_mem): Redefine as macros.
314         (IMEM, IMEM_IMMED): New macros - fetch instructions.
315
316         * simops.c (OP_10007E0): For SYS_read, SYS_write, SYS_open
317         transfer data via a buffer.
318         (fetch_str): New function, fetch string from memory.
319
320         * Makefile.in (SIM_OBJS): Add sim-hrw.o module.
321
322         * interp.c (sim_open): Establish memory maps using sim-memopt.c
323         via sim_do_command.
324         (sim_do_command): Print error if memory-map command is used. Call
325         sim_args_command.
326         (map): Delete, replaced by sim-core.
327         (sim_memory_init): Delete, replaced by sim-core.
328         (sim_set_memory_map): Delete, replaced by sim-memopt.
329         (load_mem): Delete, replaced by sim-core.
330         (store_mem): Delete, replaced by sim-core.
331         (sim_write): Delete, replaced by sim-hrw.
332         (sim_read): Delete, replaced by sim-hrw.
333
334         * sim-main.h (struct sim_state): Remove memory members, using
335         sim-core.c
336
337 Wed Sep  3 10:18:55 1997  Andrew Cagney  <cagney@b1.cygnus.com>
338
339         * sim-main.h: Replace SIM_HAVE_FLATMEM with mem ptr.
340         * interp.c (map): Do not add to a void pointer.
341         
342         * Makefile.in (INCLUDE): Add sim-main.h
343
344         * configure.in: Check for time.h
345         * configure: Re-generate.
346
347         * interp.c (struct interrupt_generator): Make time unsigned long,
348         address SIM_ADDR.
349         (sim_resume): Make oldpc SIM_ADDR.
350         (struct hash_entry): Make mask/opcode unsigned.
351
352         * v850_sim.h (struct simops ): Make opcode and mask unsigned.
353
354         * simops.c (utime.h): Include if available.
355         (OP_10007E0): Check for UTIME function.
356         (divun): Put parentheses around shift argument.
357         (OP_640): Put parentheses around shift argument, was wrong.
358         (OP_107F0): Return something.
359
360         * interp.c (sim_parse_number): Use strtoul not strtol.
361         (sim_resume): Use sim_elapsed_time_get to keep track of the time.
362
363         * configure.in (SIM_AC_OPTION_WARNINGS): Add.
364         (SIM_AC_OPTION_ENDIAN): Set to hardwired big.
365         (SIM_AC_OPTION_HOST_ENDIAN): Add.
366         (AC_CHECK_FUNCS): Add utime.
367         (AC_CHECK_HEADERS): Add stdlib.h, string.h, strings.h, utime.h
368         configure: Regenerate.
369         
370
371         * Makefile.in (SIM_RUN_OBJS): Use nrun.o.
372         (SIM_OBJS): Add sim-io.o, sim-hload.o, sim-utils.o, sim-options.o,
373         sim-config.o, sim-module.o, sim-events.o, sim-core.o,
374         sim-endian.o, sim-engine.o, sim-trace.o, sim-profile.o
375         (SIM_ENDIAN, SIM_WARNGINS): Define.
376
377         * simops.c (OP_10007E0): Use sim_io_* for transfers.
378
379         * interp.c (sim_resume): Pass sd around.
380
381         * simops.c (sim-main.h): Include.
382
383         * gencode.c (write_template): Generate #include sim-main.h.
384         (write_opcodes): Ditto.
385         
386         * interp.c (prog_bfd, prog_bfd_was_opened_p): Delete.
387         (v850_callback): Ditto.
388         (sim_kind, myname): Ditto.
389         (lookup_hash): Pass SD. Use sim_io_error.
390         (sim_set_memory_map): Pass in SD, use.
391         (init_system): Pass in SD, use.
392         (sim_open): Update.
393         (sim_set_profile): Delete.
394         (sim_set_profile_size): Delete.
395         (do_interrupt): Pass in SD, use.
396         (sim_info): Use sim_io_printf.
397         (sim_create_inferior): Reset registers.  Set PC from prog_bfd
398         argument.
399         (sim_load): Delete, use common/sim-hload.c
400         (sim_size): Rename to sim_memory_init.
401         (sim_write): Remove call to init_system.
402         (init_system): Delete.
403         (sim_set_callbacks): Delete.
404         (sim_set_interrupt): Pass in SD, use.
405         (start_time): Delete.
406         
407         * v850_sim.h: Remove everything except `struct simops' from here.
408         * sim-main.h: Move most to here.
409         * gencode.c: Move #includes to here.
410
411         * sim-main.h(struct _sim_cpu): Rename struct _state.
412         (#define PC, et.al.): Update
413         (v850_callback): Delete.  Replaced with SIM_DESC arg.
414         (int8, uint8, int16, uint16, int32, uint32): Define types using
415         unsigned8 et.al from common/sim-types.h.
416         * sim-main.h (State): Define as STATE_CPU.
417
418 Mon Sep  1 12:07:55 1997  Andrew Cagney  <cagney@b1.cygnus.com>
419
420         * configure.in: Check for time, chmod.
421         * configure: Regenerate.
422         * simops.c (SYS_time, SYS_chmod): Use HAVE_TIME, HAVE_CHMOD.
423         
424         * simops.c (../../libgloss/v850/sys/syscall.h): Include instead of
425         sys/syscall.h.
426         (OP_10007E0): Check the existance each SYS_* macro independantly.
427
428         * v850_sim.h (SIGQUIT, SIGTRAP): Only define if missing.
429
430 Wed Aug 27 18:13:22 1997  Andrew Cagney  <cagney@b1.cygnus.com>
431
432         * configure: Regenerated to track ../common/aclocal.m4 changes.
433         * config.in: Ditto.
434
435 Tue Aug 26 10:42:38 1997  Andrew Cagney  <cagney@b1.cygnus.com>
436
437         * interp.c (sim_kill): Delete.
438         (sim_create_inferior): Add ABFD argument.
439         (sim_load): Move setting of PC from here.
440         (sim_create_inferior): To here.
441
442 Mon Aug 25 17:50:22 1997  Andrew Cagney  <cagney@b1.cygnus.com>
443
444         * configure: Regenerated to track ../common/aclocal.m4 changes.
445         * config.in: Ditto.
446
447 Mon Aug 25 11:31:23 1997  Andrew Cagney  <cagney@b1.cygnus.com>
448
449         * interp.c (sim_open): Add ABFD argument.
450
451 start-sanitize-v850e
452 Fri Aug 22 10:39:28 1997  Nick Clifton  <nickc@cygnus.com>
453
454         * simops.c (bsh): Only set CY flag if either of the bottom
455         bytes is zero.
456         
457         * simops.c (prepare, dispose): Lower numbered
458         registers go to higher numbered address.
459
460         * simops.c (unsigned divide instructions): S bit set if result has
461         top bit set.
462         
463 start-sanitize-v850eq
464         * simops.c (pushml, pushmh, popml, popmh): Lower numbered
465         registers go to higher numbered address.
466 end-sanitize-v850eq
467 end-sanitize-v850e
468         
469 Wed Aug 20 13:56:35 1997  Nick Clifton  <nickc@cygnus.com>
470
471         * simops.c (OP_107E0, OP_107F0, OP_307E0, OP_307F0): Use correct
472         interpretation of SR bit in list18 structure.
473 start-sanitize-v850eq
474         (divn, divun): New functions to perform N step divide functions.
475 end-sanitize-v850eq
476
477 start-sanitize-v850eq
478 Mon Aug 18 10:59:02 1997  Nick Clifton  <nickc@cygnus.com>
479
480         * simops.c (OP_300, OP_400, OP_60, OP_70): Support variant opcodes
481         with US bit set in the PSW.
482 end-sanitize-v850eq
483
484 Wed Aug 13 19:06:55 1997  Nick Clifton  <nickc@cygnus.com>
485
486         * interp.c (sim_resume): Opcode functions return amount to be
487         added to PC and all opcodes take a standard format in the OP[]
488         array.
489         
490         (do_format_*): Functions removed.
491
492         * v850_sim.h (SP, EP): New register mnemonics.
493         
494         * gencode.c (write_header): Functions prototypes return an
495         integer.
496
497         * simops.c: Opcode functions return amount to be added to PC.
498         
499 start-sanitize-v850e
500         * v850_sim.h (CTPC, CTPSW, CTBP): New register mnemonics.
501         
502         * simops.c: Add support for v850e instructions.
503         
504 end-sanitize-v850e
505
506 start-sanitize-v850eq
507         * simops.c: Add support for v850eq instructions.
508 end-sanitize-v850eq
509         
510 Tue May 20 10:24:14 1997  Andrew Cagney  <cagney@b1.cygnus.com>
511
512         * interp.c (sim_open): Add callback argument.
513         (sim_set_callbacks): Delete SIM_DESC argument.
514
515 Thu Apr 24 00:39:51 1997  Doug Evans  <dje@canuck.cygnus.com>
516
517         * configure: Regenerated to track ../common/aclocal.m4 changes.
518
519 Wed Apr 23 17:20:16 1997  Doug Evans  <dje@canuck.cygnus.com>
520
521         * interp.c (prog_bfd_was_opened_p): New static local.
522         (prog_bfd): New global variable.
523         (sim_open): Undo patch to add -E support.
524         (sim_close): Close prog_bfd if sim_load opened it.
525         (sim_load): Record bfd of loaded file in prog_bfd.
526         * simops.c (prog_bfd): Renamed from exec_bfd.
527
528 Fri Apr 18 14:17:12 1997  Andrew Cagney  <cagney@b1.cygnus.com>
529
530         * interp.c (sim_stop): Stub function.
531
532 Thu Apr 17 03:53:18 1997  Doug Evans  <dje@canuck.cygnus.com>
533
534         * Makefile.in (SIM_OBJS): Add sim-load.o.
535         * interp.c (sim_kind, myname): New static locals.
536         (sim_open): Set sim_kind, myname.  Ignore -E arg.
537         (sim_load): Return SIM_RC.  New arg abfd.  Call sim_load_file to
538         load file into simulator.  Set start address from bfd.
539         (sim_create_inferior): Return SIM_RC.  Delete arg start_address.
540
541 Wed Apr 16 19:53:55 1997  Andrew Cagney  <cagney@b1.cygnus.com>
542
543         * simops.c (OP_10007E0): Only provide system calls SYS_execv,
544         SYS_wait, SYS_wait, SYS_utime, SYS_time if defined by the host.
545
546 Mon Apr  7 15:45:02 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
547
548         * configure: Regenerated to track ../common/aclocal.m4 changes.
549         * config.in: Ditto.
550
551 Wed Apr  2 15:06:28 1997  Doug Evans  <dje@canuck.cygnus.com>
552
553         * interp.c (sim_open): New arg `kind'.
554
555         * configure: Regenerated to track ../common/aclocal.m4 changes.
556
557 Wed Apr  2 14:34:19 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
558
559         * configure: Regenerated to track ../common/aclocal.m4 changes.
560
561 Wed Mar 19 01:14:00 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
562
563         * configure: Regenerated to track ../common/aclocal.m4 changes.
564
565 Mon Mar 17 15:10:07 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
566
567         * configure: Re-generate.
568
569 Fri Mar 14 10:34:11 1997  Michael Meissner  <meissner@cygnus.com>
570
571         * configure: Regenerate to track ../common/aclocal.m4 changes.
572
573 Thu Mar 13 13:00:54 1997  Doug Evans  <dje@canuck.cygnus.com>
574
575         * interp.c (sim_open): New SIM_DESC result.  Argument is now
576         in argv form.
577         (other sim_*): New SIM_DESC argument.
578
579 Tue Feb  4 13:33:30 1997  Doug Evans  <dje@canuck.cygnus.com>
580
581         * Makefile.in (@COMMON_MAKEFILE_FRAG): Use
582         COMMON_{PRE,POST}_CONFIG_FRAG instead.
583         * configure.in: sinclude ../common/aclocal.m4.
584         * configure: Regenerated.
585
586 Thu Jan 23 11:46:23 1997  Stu Grossman  (grossman@critters.cygnus.com)
587
588         * configure configure.in Makefile.in:  Update to new configure
589         scheme which is more compatible with WinGDB builds.
590         * configure.in:  Improve comment on how to run autoconf.
591         * configure:  Re-run autoconf to get new ../common/aclocal.m4.
592         * Makefile.in:  Use autoconf substitution to install common
593         makefile fragment.
594
595 Mon Jan 20 16:05:34 1997  Michael Meissner  <meissner@tiktok.cygnus.com>
596
597         * simops.c (OP_{E0,2E0,6E0}): The multiply operations sign extend,
598         not zero extend.
599
600 Tue Jan 14 17:06:03 1997  Stu Grossman  (grossman@critters.cygnus.com)
601
602         * simops.c:  Put ifdefs around things to make MSVC happy.  Get rid
603         of unistd.h.  Disable SYS_stat, SYS_chown, SYS_time, SYS_times,
604         SYS_gettimeofday and SYS_utime from MSVC.
605
606 Tue Dec 31 18:11:13 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
607
608         * simops.c (OP_10007E0): Know that kill encodes the signal number
609         via: 0xdead0000 | signal and turn it back into a signal.
610
611 Fri Dec 27 14:44:06 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
612
613         * v850_sim.h (SIG_V850_EXIT): Define as -1.
614
615         * interp.c (sim_open): Cast calloc function.
616         (sim_stop_reason): If signal is SIG_V850_EXIT, inform gdb the
617         program exited with the appropriate exit code.
618         (sim_set_interrupt): Declare buildargv.
619
620         * simops.c (OP_10007E0): Make exit signal normal exit.  Make time
621         type correct and work on big endian systems.
622
623 Wed Nov 20 02:18:44 1996  Doug Evans  <dje@canuck.cygnus.com>
624
625         * Makefile.in: Delete stuff moved to ../common/Make-common.in.
626         (SIM_OBJS,SIM_EXTRA_CFLAGS,SIM_EXTRA_CLEAN): Define.
627         * configure.in: Simplify using macros in ../common/aclocal.m4.
628         Call AC_CHECK_HEADERS(unistd.h).
629         * configure: Regenerated.
630         * config.in: New file.
631         * simops.c: #include "config.h".  #include <unistd.h> if present.
632
633 Sun Nov  3 23:02:54 1996  Stan Shebs  <shebs@andros.cygnus.com>
634
635         * v850_sim.h (State): New slots dummy_mem, pending_nmi.
636         (EIPC, etc): New macros for system registers.
637         * simops.c, interp.c: Use everywhere.
638
639         * interp.c: Add support for interrupts issued by interrupt
640         generators, either PC- or time-based.  Controlled by simulator
641         command "sim interrupt".
642
643         * interp.c: Add support for variable-size allocation of memory,
644         via simulator command "sim memory-map".
645         (map): Issue SIGSEGV for references to invalid memory regions.
646         
647 Thu Oct 31 14:44:10 1996  Gavin Koch  <gavin@cygnus.com>
648         
649         * simops.c: Include <sys/time.h> for struct timeval and 
650         struct timezone.
651         
652 Wed Oct 30 08:49:10 1996  Jeffrey A Law  (law@cygnus.com)
653
654         * simops.c (OP_10007E0): Handle SYS_times and SYS_gettimeofday.
655
656         * simops.c (OP_10007E0): Handle SYS_time.
657
658 Tue Oct 29 14:22:55 1996  Jeffrey A Law  (law@cygnus.com)
659
660         * simops.c: Include <sys/stat.h>.
661         (OP_10007E0): Handle SYS_stat.
662
663 Thu Oct 24 12:26:35 1996  Jeffrey A Law  (law@cygnus.com)
664
665         * simops.c (OP_10007E0): Don't declare errno.
666
667         * simops.c (OP_500): Mask off low bit in displacement
668         for sld.w.
669         (OP_501): Similarly.
670
671         * simops.c (OP_500): Fix displacement handling for sld.w.
672         (OP_501): Similarly for sst.w.
673
674         * simops.c (trace_input): Remove all references to SEXT7.
675         (OP_300, OP_400, OP_500, OP_380, OP_480, OP_501): Displacement
676         is zero extended for sst/sld instructions.
677         * v850_sim.h (SEX7): Delete.  It's no longer needed (and it
678         was incorrect anyway).
679
680 Thu Oct 24 10:33:33 1996  Stu Grossman  (grossman@critters.cygnus.com)
681
682         * Makefile.in:  Get rid of srcroot.  Set all INSTALL macros via
683         autoconf.
684         * gencode.c (write_opcodes):  Pad operands field to account for
685         MSVC braindamage.
686         * simops.c:  Include errno.h.  Exclude SYS_chown, since MSVC
687         doesn't support it.  (Why is this here in the first place?!?)
688         * v850_sim.h:  Get rid of 64 bit defs.  Also, get rid of #elif's.
689         Change number of operands in struct simops from 9 to 6.  Define
690         SIGTRAP and SIGQUIT for MSVC.
691
692 Tue Oct 15 16:19:51 1996  Stu Grossman  (grossman@critters.cygnus.com)
693
694         * interp.c (MEM_SIZE):  It's now bytes, not a power of 2.
695         * (map):  Add support for external mem in the 1->2 meg range.
696         Also, abort() when memory access is way out of bounds.  (Better to
697         die than to give wrong result.  (This will be fixed later.))
698         * (sim_size):  MEM_SIZE is now bytes, not shift factor.
699
700 Tue Oct  1 15:53:24 1996  Gavin Koch <gavin@cygnus.com>
701         
702         * simops.c (trace_input): Swapped order of operands for output
703         output of OP_IMM_REG.  Changed the fetching of the operands for
704         OP_LOAD32, and OP_STORE32 to work like op-function.
705         
706 Mon Sep 30 15:46:33 1996  Stu Grossman  (grossman@critters.cygnus.com)
707
708         * interp.c:  Move includes of remote-sim.h and callback.h to
709         v850-sim.h.
710         * (lookup_hash): Add PC to report of hash failure.
711         * (map load_mem store_mem):  New memory subsystem.  Models V851
712         memory system.
713         * (sim_write sim_read):  Use new memory subsystem.
714         * (sim_resume):  Don't load and save PC into EIPC anymore.  Needed
715         to make user-defined traps work right.
716         * simops.c (OP_*):  Use new memory subsystem.
717         * (OP_14007E0 (reti)):  Implement reti.
718         * (OP_14996E0 (trap)):  Implement user-defined traps.  Move I/O to
719         trap 31.  Use new memory subsystem.
720         * v850_sim.h:  Prototypes for load_mem, store_mem and map.  Use
721         load_mem in RLW macro.
722
723 Fri Sep 27 18:34:09 1996  Stu Grossman  (grossman@critters.cygnus.com)
724
725         * gencode.c (write_opcodes):  Output hex values for opcode mask
726         and patterns.
727         * interp.c (sim_resume):  Save and restore PC from the appropriate
728         register.
729         * (sim_fetch_register sim_store_register):  Fix byte-order problem
730         with reading and writing registers.
731         * simops.c (OP_FFFF):  Implement pseudo-breakpoint insn.
732
733 Fri Sep 27 17:42:37 1996  Jeffrey A Law  (law@cygnus.com)
734
735         * simops.c (trace_input): Fix thinko. 
736
737 Wed Sep 18 09:54:12 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
738
739         * simops.c (exec_bfd): Rename from sim_bfd.
740         (trace_input): Ditto.
741
742 Thu Sep 12 12:03:05 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
743
744         * simops.c (trace_input): Use find_nearest_line to print line
745         number, function name or file name of PC.
746
747 Wed Sep 11 16:44:37 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
748
749         * simops.c: Add tracing support.  Use SEXTxx macros instead of
750         doing hardwired shifts.
751
752         * configure.in (--enable-sim-cflags): Add switch to add additional
753         flags to simulator buld.  If --enable-sim-cflags=trace, turn on
754         tracing.
755         * configure: Regenerate.
756
757         * Makefile.in: Don't require a VPATH capable make if configuring
758         in the same directory.  Don't use CFLAGS for configuration flags.
759         Add flags from --enable-sim-cflags.  Support canadian cross
760         builds.  Rebuild whole simulator if include files change.
761
762         * interp.c (v850_debug): New global for debugging.
763         (lookup_hash,sim_size,sim_set_profile): Use
764         printf_filtered callback, instead of calling printf directly.
765         (sim_{open,trace}): Enable tracing if -t and compiled for tracing.
766
767         * v850_sim.h: Use limits.h to set the various sized types.
768         (SEXT{5,7,16,22}): New macros.
769
770 Mon Sep  9 20:50:46 1996  Jeffrey A Law  (law@cygnus.com)
771
772         * interp.c (hash): Make this an inline function
773         when compiling with GCC.  Simplify.
774         * simpos.c: Explicitly include "sys/syscall.h".  Remove
775         some #if 0'd code.  Enable more emulated syscalls.
776
777 Wed Sep  4 01:48:55 1996  Jeffrey A Law  (law@cygnus.com)
778
779         * interp.c: Fix sign bit handling for add and sub instructions.
780
781 Tue Sep  3 10:20:30 1996  Jeffrey A Law  (law@cygnus.com)
782
783         * gencode.c: Fix various indention & style problems.
784         Remove test code.  Remove #if 0 code.
785         * interp.c: Provide prototypes for all static functions.
786         Fix minor indention problems.
787         (sim_open, sim_resume): Remove unused variables.
788         (sim_read): Return type is "int".
789         * simops.c: Remove unused variables.
790         (divh): Make result of divide-by-zero zero.
791         (setf): Initialize result to keep compiler quiet.
792         (sar instructions): These just clear the overflow bit.
793         * v850_sim.h: Provide prototypes for put_byte, put_half
794         and put_word.
795
796         * interp.c: OP should be an array of 32bit operands!
797         (v850_callback): Declare.
798         (do_format_5): Fix extraction of OP[0].
799         (sim_size): Remove debugging printf.
800         (sim_set_callbacks): Do something useful.
801         (sim_stop_reason): Gross hacks to get c-torture running.
802         * simops.c: Simplify code for computing targets of bCC
803         insns.   Invert 's' bit if 'ov' bit is set for some
804         instructions.  Fix 'cy' bit handling for numerous
805         instructions.  Make the simulator stop when a halt
806         instruction is encountered.  Very crude support for
807         emulated syscalls (trap 0).
808         * v850_sim.h: Include "callback.h" and declare
809         v850_callback.  Items in the operand array are 32bits.
810
811 Sun Sep  1 22:35:35 1996  Jeffrey A Law  (law@cygnus.com)
812
813         * interp.c (sim_resume): Fix code to check for a format 3
814         opcode.
815         * simops.c: bCC insns only argument is a constant, not a
816         register value (duh...)
817
818 Fri Aug 30 10:33:49 1996  Jeffrey A Law  (law@cygnus.com)
819
820         * simops.c: Fix "not1" and "set1".
821
822         * simops.c: Don't forget to initialize temp for
823         "ld.h" and "ld.w"
824
825         * interp.c: Remove various debugging printfs.
826
827         * simops.c: Fix satadd, satsub boundary case handling.
828
829         * interp.c (hash): Fix.
830         * interp.c (do_format_8): Get operands correctly and
831         call the target function.
832         * simops.c: Rough cut at "clr1", "not1", "set1", and "tst1".
833
834 Thu Aug 29 13:53:29 1996  Jeffrey A Law  (law@cygnus.com)
835
836         * interp.c (do_format_4): Get operands correctly and
837         call the target function.
838         * simops.c: Rough cut at "sld.b", "sld.h", "sld.w", "sst.b",
839         "sst.h", and "sst.w".
840
841         * v850_sim.h: The V850 doesn't have split I&D spaces.  Change
842         accordingly.  Remove many unused definitions.
843         * interp.c: The V850 doesn't have split I&D spaces.  Change
844         accordingly.
845         (get_longlong, get_longword, get_word): Deleted.
846         (write_longlong, write_longword, write_word): Deleted.
847         (get_operands): Deleted.
848         (get_byte, get_half, get_word): New functions.
849         (put_byte, put_half, put_word): New functions.
850         * simops.c: Remove unused functions.  Rough cut at
851         "ld.b", "ld.h", "ld.w", "st.b", "st.h", "st.w" insns.
852
853         * v850_sim.h (struct _state): Remove "psw" field.  Add
854         "sregs" field.
855         (PSW): Remove bogus definition.
856         * simops.c: Change condition code handling to use the psw
857         register within the sregs array.  Handle "ldsr" and "stsr".
858
859         * simops.c: Handle "satadd", "satsub", "satsubi", "satsubr".
860
861         * interp.c (do_format_5): Get operands correctly and
862         call the target function.
863         (sim_resume): Don't do a PC update for format 5 instructions.
864         * simops.c: Handle "jarl" and "jmp" instructions.
865
866         * simops.c: Fix minor typos.  Handle "cmp", "setf", "tst"
867         "di", and "ei" instructions correctly.
868
869         * interp.c (do_format_3): Get operands correctly and call
870         the target function.
871         * simops.c: Handle bCC instructions.
872
873         * simops.c: Add condition code handling to shift insns.
874         Fix minor typos in condition code handling for other insns.
875
876         * Makefile.in: Fix typo.
877         * simops.c: Add condition code handling to "sub" "subr" and
878         "divh" instructions.
879
880         * interp.c (hash): Update to be more accurate.
881         (lookup_hash): Call hash rather than computing the hash
882         code here.
883         (do_format_1_2): Handle format 1 and format 2 instructions.
884         Get operands correctly and call the target function.
885         (do_format_6): Get operands correctly and call the target
886         function.
887         (do_formats_9_10): Rough cut so shift ops will work.
888         (sim_resume): Tweak to deal with format 1 and format 2
889         handling in a single funtion.  Don't update the PC
890         for format 3 insns.  Fix typos.
891         * simops.c: Slightly reorganize.  Add condition code handling
892         to "add", "addi", "and", "andi", "or", "ori", "xor", "xori"
893         and "not" instructions.
894         * v850_sim.h (reg_t): Registers are 32bits.
895         (_state): The V850 has 32 general registers.  Add a 32bit
896         psw and pc register too.  Add accessor macros
897
898         * Makefile.in, interp.c, v850_sim.h: Bring over endianness
899         changes from the d10v simulator.
900
901         * simops.c: Add shift support.
902
903         * simops.c: Add multiply & divide support.  Abort for system
904         instructions.
905
906         * simops.c: Add logicals, mov, movhi, movea, add, addi, sub
907         and subr.  No condition codes yet.
908
909 Wed Aug 28 13:53:22 1996  Jeffrey A Law  (law@cygnus.com)
910
911         * ChangeLog, Makefile.in, configure, configure.in, v850_sim.h, 
912         gencode.c, interp.c, simops.c: Created.
913