merge from main branch for danlite/sparc86x merge
[external/binutils.git] / sim / erc32 / ChangeLog
1 1999-02-05  DJ Delorie  <dj@cygnus.com>
2
3         * merged main branch to this one
4         * configure: rebuilt
5
6 1999-01-25  Hugo Tyson  <hmt@cygnus.co.uk>
7
8         * interf.c (run_sim): Fix a bug in the main loop's handling of
9         annulled delay slot instructions.  There is precedent for this
10         change; the _other_ main loop in sis.c gets it right according to
11         my reading of the code.
12
13         The bug is: if an interrupt happens when the next instruction
14         (at sregs->pc) is annulled, the trap is taken (by execute_trap())
15         with the current values of PC and NPC, so when the trap returns,
16         the annulled instruction is indeed executed.  Another giveaway is
17         that the annul flag is cleared in execute_trap(): the information
18         is demonstrably discarded.
19
20         The solution is: perform annulling before looking for traps, in
21         fact it's neater to do annulling, see if there's an interrupt and
22         if not, do the instruction, then handle traps be they generated by
23         interrupts pending or by the instruction we might just have done.
24         That's what the sis.c one does.
25
26 1999-01-20  Hugo Tyson  <hmt@cygnus.co.uk>
27
28         * sis.h: Add asr17 register for support of SparcLITE (at least the
29         Hitachi ones I find before me)
30
31         * exec.c (dispatch_instruction): Case WRY: Allow write of asr17 if
32         sparclite.  Other ASR numbers than 17 or 0 (Y) trap out.
33         Case RDY: Allow read of asr17 if sparclite.  Other ASRs ditto.
34         (execute_trap): Do single-vector-trapping if asr17 bit 0 is set.
35         (init_regs): Initialize y and asr17.
36         NB: In instruction-set space, the Y register is asr0; the
37         instructions have different names for human reasons only.
38
39         * sis.c:
40         * interf.c: Set boolean mode variable dumbio if invoked with
41         argument "-dumbio" and mention it of verbose.
42         * erc32.c: if "dumbio" is set, do not assume that there is a
43         terminal type device attached to stdin/stdout.  Do not set
44         buffering or mess with tcsetattr or do any read operations in
45         order to make UART interrupts; not input data is supported.
46         This is necessary to allow the sim to be used within the eCos
47         testing infrastructure where stdin/stdout are pipes to a TCL
48         program; the sim hangs otherwise.
49
50 Thu Jul 23 07:17:03 1998  Mark Alexander  <marka@cygnus.com>
51
52         * exec.c (dispatch_instruction): Add SPARClite 'scan' instruction.
53
54 Tue Jul  7 21:12:41 1998  Mark Alexander  <marka@cygnus.com>
55
56         * func.c (bfd_load): Add special handling of a.out executables.
57
58 Sat Jun 13 08:33:25 1998  Mark Alexander  <marka@cygnus.com>
59
60         * func.c (bfd_load): Print correct endianness.
61         * interf.c (run_sim): Print debugging information if verbosity level
62         is greater than 2.
63         (sim_open): Repeated -v options now increment verbosity level.
64         (sim_store_register): Handle little-endian case.
65         (flush_window): Print debugging information if verbosity level
66         is greater then 2.
67
68 Tue Jun  2 15:20:35 1998  Mark Alexander  <marka@cygnus.com>
69
70         * interf.c (sim_open): Use revamped memory_read, which makes
71         byte-swapping unnecessary.  Add -sparclite-board option for
72         emulating RAM found on typical SPARClite boards.  Print
73         error message for unrecognized option.
74         * erc32.c: Change RAM address and size from constants to variables,
75         to allow emulation of SPARClite board RAM.
76         (fetch_bytes, store_bytes): New helper functions for revamped
77         mememory_read and memory_write.
78         (memory_read, memory_write): Rewrite to store bytes in target
79         byte order instead of storing words in host byte order; this
80         greatly simplifies support of little-endian programs.
81         (get_mem_ptr): Remove unnecessary byte parameter.
82         (sis_memory_write, sis_memory_read): Store words in target
83         byte order instead of host byte order.
84         (byte_swap_words): Remove, no longer needed.
85         * sis.h ((byte_swap_words): Remove declaration, no longer needed.
86         (memory_read): Add new sz parameter.
87         * sis.c (run_sim): Use revamped memory_read, which makes
88         byte-swapping unnecessary.
89         * exec.c (dispatch_instruction): Use revamped memory_read, which
90         makes byte-swapping and double-word fetching unnecessary.
91         * func.c (sparclite_board): Declare new variable.
92         (get_regi): Handle little-endian data.
93         (bfd_load): Recognize little-endian SPARClite as having
94         little-endian data.
95         
96 Fri May 22 14:23:16 1998  Mark Alexander  <marka@cygnus.com>
97
98         * erc32.c (port_init): Print messages only if sis_verbose is true.
99         * func.c (bfd_load): Ditto.
100         * interf.c (sim_open): Ditto.
101
102 Thu May 14 23:10:48 1998  Mark Alexander  <marka@cygnus.com>
103
104         * sis.h (uint64, int64): Define.
105         * exec.c (SDIV, SDIVCC, UDIV, UDIVCC): Define new opcodes.
106         * (mul64): Simplify calculation of negative result.
107         * (div64): New helper function for 64-bit division.
108         * (dispatch_instruction): Add emulation of SDIV, SDIVCC, UDIV,
109         and UDIVCC.
110         
111 Wed May 13 14:59:54 1998  Mark Alexander  <marka@cygnus.com>
112
113         * erc32.c (close_port): Don't close stdin; it kills GDB.
114         (byte_swap_words): New function.
115         * sis.h: (byte_swap_words): Declare.
116         * interf.c (run_sim): Always fetch instructions as big-endian.
117         * sis.c (run_sim): Ditto.
118
119 Tue Apr 28 18:33:31 1998  Geoffrey Noer  <noer@cygnus.com>
120
121         * configure: Regenerated to track ../common/aclocal.m4 changes.
122
123 Sun Apr 26 15:31:55 1998  Tom Tromey  <tromey@creche>
124
125         * configure: Regenerated to track ../common/aclocal.m4 changes.
126         * config.in: Ditto.
127
128 Sun Apr 26 15:20:17 1998  Tom Tromey  <tromey@cygnus.com>
129
130         * acconfig.h: New file.
131         * configure.in: Reverted change of Apr 24; use sinclude again.
132
133 Fri Apr 24 14:16:40 1998  Tom Tromey  <tromey@creche>
134
135         * configure: Regenerated to track ../common/aclocal.m4 changes.
136         * config.in: Ditto.
137
138 Fri Apr 24 11:19:52 1998  Tom Tromey  <tromey@cygnus.com>
139
140         * configure.in: Don't call sinclude.
141
142 Sat Apr 18 12:00:16 1998  Mark Alexander  <marka@cygnus.com>
143
144         * func.c (disp_fpu): Fix build problem on big-endian hosts.
145
146 Wed Apr  8 19:33:34 1998  Mark Alexander  <marka@cygnus.com>
147
148         * erc32.c (sim_stop): Handle SIGINT gracefully.
149         * interf.c (sim_open): Don't catch SIGINT; GDB will do that for us.
150
151 Wed Apr  8 18:29:40 1998  Mark Alexander  <marka@cygnus.com>
152
153         * exec.c (dispatch_instruction): Change how carry out is calculated
154         in DIVSCC.  Add emulation of SMULCC, UMUL, and UMULCC.
155
156 Sat Apr  4 20:36:25 1998  Andrew Cagney  <cagney@b1.cygnus.com>
157
158         * configure: Regenerated to track ../common/aclocal.m4 changes.
159
160 Wed Apr  1 21:19:18 1998  Mark Alexander  <marka@cygnus.com>
161
162         * end.c: Update to version 2.7.5, fix compiler warnings and bugs.
163         * erc32.c: Ditto.
164         * exec.c: Ditto.
165         * float.c: Ditto.
166         * func.c: Ditto.
167         * help.c: Ditto.
168         * interf.c: Ditto.
169         * sis.c: Ditto.
170         * sis.h: Ditto.
171
172 Fri Mar 27 16:15:52 1998  Andrew Cagney  <cagney@b1.cygnus.com>
173
174         * configure: Regenerated to track ../common/aclocal.m4 changes.
175
176 Wed Mar 25 12:35:29 1998  Andrew Cagney  <cagney@b1.cygnus.com>
177
178         * configure: Regenerated to track ../common/aclocal.m4 changes.
179
180 Wed Mar 18 12:38:12 1998  Andrew Cagney  <cagney@b1.cygnus.com>
181
182         * configure: Regenerated to track ../common/aclocal.m4 changes.
183
184 Tue Feb 17 12:41:11 1998  Andrew Cagney  <cagney@b1.cygnus.com>
185
186         * interf.c (sim_store_register, sim_fetch_register): Pass in
187         length parameter.  Return -1.
188
189 Sun Feb  1 16:47:51 1998  Andrew Cagney  <cagney@b1.cygnus.com>
190
191         * configure: Regenerated to track ../common/aclocal.m4 changes.
192
193 Sat Jan 31 18:15:41 1998  Andrew Cagney  <cagney@b1.cygnus.com>
194
195         * configure: Regenerated to track ../common/aclocal.m4 changes.
196
197 Mon Jan 19 22:26:29 1998  Doug Evans  <devans@seba>
198
199         * configure: Regenerated to track ../common/aclocal.m4 changes.
200
201 Mon Dec 15 23:17:11 1997  Andrew Cagney  <cagney@b1.cygnus.com>
202
203         * configure: Regenerated to track ../common/aclocal.m4 changes.
204         * config.in: Ditto.
205
206 Thu Dec  4 09:21:05 1997  Doug Evans  <devans@canuck.cygnus.com>
207
208         * configure: Regenerated to track ../common/aclocal.m4 changes.
209
210 Fri Oct  3 09:28:00 1997  Andrew Cagney  <cagney@b1.cygnus.com>
211
212         * configure: Regenerated to track ../common/aclocal.m4 changes.
213
214 Wed Sep 24 17:38:57 1997  Andrew Cagney  <cagney@b1.cygnus.com>
215
216         * configure: Regenerated to track ../common/aclocal.m4 changes.
217
218 Tue Sep 23 11:04:38 1997  Andrew Cagney  <cagney@b1.cygnus.com>
219
220         * configure: Regenerated to track ../common/aclocal.m4 changes.
221
222 Mon Sep 22 11:46:20 1997  Andrew Cagney  <cagney@b1.cygnus.com>
223
224         * configure: Regenerated to track ../common/aclocal.m4 changes.
225
226 Fri Sep 19 17:45:25 1997  Andrew Cagney  <cagney@b1.cygnus.com>
227
228         * configure: Regenerated to track ../common/aclocal.m4 changes.
229
230 Mon Sep 15 17:36:15 1997  Andrew Cagney  <cagney@b1.cygnus.com>
231
232         * configure: Regenerated to track ../common/aclocal.m4 changes.
233
234 Wed Aug 27 18:13:22 1997  Andrew Cagney  <cagney@b1.cygnus.com>
235
236         * configure: Regenerated to track ../common/aclocal.m4 changes.
237         * config.in: Ditto.
238
239 Tue Aug 26 10:38:20 1997  Andrew Cagney  <cagney@b1.cygnus.com>
240
241         * float.c (__setfpucw): Compile on any i386 target.  Not just NT.
242
243         * interf.c (sim_kill): Delete.
244         (sim_create_inferior): Add ABFD argument.  Initialize PC from ABFD
245         argument.
246         (sim_load): Don't save start address.
247         (start_address): Delete variable.
248
249 Mon Aug 25 17:50:22 1997  Andrew Cagney  <cagney@b1.cygnus.com>
250
251         * configure: Regenerated to track ../common/aclocal.m4 changes.
252         * config.in: Ditto.
253
254 Mon Aug 25 16:19:49 1997  Andrew Cagney  <cagney@b1.cygnus.com>
255
256         * interf.c (sim_open): Add ABFD argument. Change ARGV to PARGV.
257
258 Mon Jun 30 11:45:25 1997  Doug Evans  <dje@canuck.cygnus.com>
259
260         * Makefile.in (install-sis): Change $(srcdir)/sis to sis.
261
262 Wed May 28 09:46:13 1997  Andrew Cagney  <cagney@b1.cygnus.com>
263
264         * interf.c (sim_set_callbacks): Drop SD argument - not applicable.
265         (sim_open): Add callback arg, save it.
266
267 Thu Apr 24 00:39:51 1997  Doug Evans  <dje@canuck.cygnus.com>
268
269         * configure: Regenerated to track ../common/aclocal.m4 changes.
270
271 Tue Apr 22 11:05:01 1997  Doug Evans  <dje@canuck.cygnus.com>
272
273         * interf.c (sim_open): Undo patch to add -E support.
274
275 Thu Apr 17 03:03:56 1997  Doug Evans  <dje@canuck.cygnus.com>
276
277         * interf.c (sim_open): Ignore -E arg.
278         (start_address): New static local.
279         (sim_load): Return SIM_RC.  New arg abfd.  Set start_address from bfd.
280         (sim_create_inferior): Return SIM_RC.  Delete arg start_address.
281
282 Tue Apr 15 15:16:11 1997  Ian Lance Taylor  <ian@cygnus.com>
283
284         * Makefile.in (install-sis): Depend upon installdirs.  Use
285         $(program_transform_name) directly, rather than using
286         $(INSTALL_XFORM).
287
288 Mon Apr  7 15:45:02 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
289
290         * configure: Regenerated to track ../common/aclocal.m4 changes.
291         * config.in: Ditto.
292
293 Wed Apr  2 15:06:28 1997  Doug Evans  <dje@canuck.cygnus.com>
294
295         * interf.c (sim_open): New arg `kind'.
296
297         * configure: Regenerated to track ../common/aclocal.m4 changes.
298
299 Wed Apr  2 14:34:19 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
300
301         * configure: Regenerated to track ../common/aclocal.m4 changes.
302
303 Mon Mar 17 15:10:07 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
304
305         * configure: Re-generate.
306
307 Thu Mar 13 12:46:04 1997  Doug Evans  <dje@canuck.cygnus.com>
308
309         * interf.c (sim_open): New SIM_DESC result.  Argument is now in
310         argv form.
311         (other sim_*): New SIM_DESC argument.
312
313 Tue Feb  4 13:35:20 1997  Doug Evans  <dje@canuck.cygnus.com>
314
315         * Makefile.in (@COMMON_MAKEFILE_FRAG): Use
316         COMMON_{PRE,POST}_CONFIG_FRAG instead.
317         * configure.in: sinclude ../common/aclocal.m4.
318         * configure: Regenerated.
319
320 Thu Jan 23 11:46:23 1997  Stu Grossman  (grossman@critters.cygnus.com)
321
322         * configure configure.in Makefile.in:  Update to new configure
323         scheme which is more compatible with WinGDB builds.
324         * configure.in:  Improve comment on how to run autoconf.
325         * configure:  Re-run autoconf to get new ../common/aclocal.m4.
326         * Makefile.in:  Use autoconf substitution to install common
327         makefile fragment.
328
329 Wed Dec  4 18:25:04 1996  Rob Savoye  <rob@chinadoll.cygnus.com>
330
331         * interf.c (run_sim): Stop the simulator and reset the stdio after
332         breakpoints.
333
334 Tue Dec  3 11:54:37 1996  Rob Savoye  <rob@chinadoll.cygnus.com>
335
336         * configure.in: Look for libtermcap.a.
337         * Makefile.in: Only link in -ltermcap if it exists.
338         * erc32.c: Update to version 2.6a. Fix uart handling.
339         * exec.c: Update to version 2.6a. Add sparclite support.
340         * float.c: Update to version 2.6a. Convert comments to
341         preprocessor warnings. Add __setfpucw() for i385 hosts so floating
342         point exceptions work on win32.
343         * func.c: Update to version 2.6a. Fix uart handling, add support
344         for user error traps.
345         * help.c: Update to version 2.6a. Add help note on user error
346         traps.
347         * interf.c: Update to version 2.6a. Fix uart handling, and add
348         sparclite support.
349         * examples/gccx: Use sparclite cross compiler, not native gcc.
350         * examples/srt0.S: Use "mov" rather than "wr" for manipulating
351         the psr register.
352
353 Mon Nov 25 08:28:10 1996  Fred Fish  <fnf@cygnus.com>
354
355         * Makefile.in (run.o): Remove this rule, it hides the one in
356         ../common/Make-common.in that correctly references the source
357         in the sibling ../common directory.
358
359 Wed Nov 20 01:30:12 1996  Doug Evans  <dje@canuck.cygnus.com>
360
361         * Makefile.in: Delete stuff moved to ../common/Make-common.in.
362         (SIM_{OBJS,EXTRA_LIBS,EXTRA_LIBDEPS,EXTRA_ALL,EXTRA_INSTALL}): Define.
363         (SIM_{EXTRA_CLEAN,EXTRA_CFLAGS}): Define.
364         * configure.in: Simplify using macros in ../common/aclocal.m4.
365         Call AC_CHECK_HEADERS(stdlib.h).
366         * configure: Regenerated.
367         * config.in: New file.
368         * func.c (sim_set_callbacks): Delete, moved to
369         * interf.c (sim_set_callbacks): here.
370         (sim_callback): New global.
371         Rewrite all calls to printf_filtered to go through callback.
372         (sim_size,sim_trace): New functions.
373         (sim_{insert,remove}_breakpoint): #if 0 out.
374         * sis.c: #include "config.h".  #include <stdlib.h> if present.
375         (main): Coerce fprintf arg to INIT_DISASSEMBLE_INFO to fprintf_ftype.
376         * sis.h: #include "callback.h".
377         * run.c: Deleted, using one in ../common now.
378
379 Thu Oct  3 16:12:03 1996  Jason Molenda  (crash@godzilla.cygnus.co.jp)
380
381         * Makefile.in (clean): Move config.log to distclean.
382
383 Wed Oct  2 16:57:57 1996  Jason Molenda  (crash@godzilla.cygnus.co.jp)
384
385         * Makefile.in (clean): Also remove config.log.
386
387 Sat Sep 14 00:00:46 1996  Ian Lance Taylor  <ian@cygnus.com>
388
389         * Makefile.in (CC_FOR_BUILD): New variable.
390         (AR, AR_FLAGS, BISON, MAKEINFO): Remove duplicate variables.
391         (RANLIB, CC): Likewise.
392         (end): Use $(CC_FOR_BUILD), not $(CC).
393         * configure.in: Set CC_FOR_BUILD.
394         * configure: Rebuild.
395
396 Sun Sep  8 14:04:37 1996  Stu Grossman  (grossman@critters.cygnus.com)
397
398         * erc32.c (port_init):  Disable this for __GO32__ (got no pty's
399         there either...).
400
401 Mon Aug 12 17:04:58 1996  Stu Grossman  (grossman@critters.cygnus.com)
402
403         * erc32.c:  Don't include sys/ioctl.h or sys/file.h.  They aren't
404         necessary.
405         * (port_init):  Don't even *try* to open pty's under _WIN32.
406         * Use SIM_ADDR, not caddr_t for declaring vars that hold addresses.
407         * float.c:  Get rid of #warning.  Makes Microsoft C barf.
408         * interf.c (sim_open):  Cast fprintf to (fprintf_ftype) to fix
409         compiler warning.
410         * (sim_load sim_create_inferior sim_read):  Use prototypes only in
411         decls, not defs.
412         * Get rid of enum sim_stop.  It's defined in remote-sim.h.
413         * (sim_stop_reason):  Define SIGTRAP if _WIN32.
414         * sis.h:  Include ansidecl.h and remote-sim.h.
415
416 Wed Jul  3 16:05:23 1996  Stu Grossman  (grossman@critters.cygnus.com)
417
418         * erc32.c (mec_reset mec_read mec_write memory_read memory_write),
419         sis.h:  Get rid of all uses of long long's.
420         * (close_port read_uart write_uart uarta_tx):  Don't seg fault
421         when can't open pty's.
422         * exec.c:  Add two new instructions: smul, and divscc.
423         * interf.c (flush_windows):  New routine to flush the register
424         windows out to the stack just before returning to GDB.  Makes
425         backtraces work much better.
426
427 Wed Jun 26 12:19:11 1996  Jason Molenda  (crash@godzilla.cygnus.co.jp)
428
429         * Makefile.in (bindir, libdir, datadir, mandir, infodir, includedir,
430         INSTALL_PROGRAM, INSTALL_DATA): Use autoconf-set values.
431         (docdir, oldincludedir): Removed.
432         * configure.in (AC_PREREQ): autoconf 2.5 or higher.
433         (AC_PROG_INSTALL): Added.
434         * configure: Rebuilt.
435
436 Mon Jun 24 14:19:07 1996  Ian Lance Taylor  <ian@cygnus.com>
437
438         * configure.in: Call AC_PROG_CC before running configure.host.
439         * configure: Rebuild with autoconf 2.10.
440
441 Tue Jun  4 10:37:12 1996  Tom Tromey  <tromey@csk3.cygnus.com>
442
443         * Makefile.in (install): Don't check to see if tooldir exists.
444         Make $(tooldir) and $(tooldir)/bin.
445
446 Mon Jun  3 12:33:38 1996  Ian Lance Taylor  <ian@cygnus.com>
447
448         * Makefile.in (end.h): Use explicit ./ when running end.
449
450 Sun May 19 21:05:31 1996  Rob Savoye  <rob@chinadoll.cygnus.com>
451
452         * func.c(bfd_load): Don't try to print the filename if the pfbd is
453         NULL.
454         * interf.c(sim_load): Pass the whole string, not just the first
455         byte.
456
457 Version 2.1 26-02-96
458 --------------------
459  
460 * Fixed bug in "go" command.
461  
462 version 2.0 05-02-96
463 --------------------
464
465 * Fixed bug in interrupt force register (erc32.c).
466
467 * Change file load function to use bfd_openr.
468
469 * SIS should now be endian independent.
470
471 version 1.8 24-11-95
472 --------------------
473
474 * Fixed FPU timing - some sequences of FPU instructions did not calculate
475   the resource dependencies right.
476
477 * Corrected STDFQ when qne = 0 (again!). The ftt is set to sequence_error
478   but no FPU trap is generated.
479
480 version 1.7.1 31-10-95
481 --------------------
482
483 * Corrected STDFQ when qne = 0. Now, a trap is immidiately generated but
484   the FPU stays in execute mode.
485
486 * Corrected JMPL and RETT timing (these instructions takes two cycles).
487
488
489 version 1.7 25-10-95
490 --------------------
491
492 * Interrupt during annuled instruction corrupted return address - fixed.
493
494
495 version 1.6.2 25-10-95
496 --------------------
497
498 * Added -DFAST_UART to Makefile
499  
500
501 version 1.6.1 24-10-95
502 --------------------
503  
504 * Fixed bug in STDFQ which caused bus error
505
506
507 version 1.6 02-10-95
508 --------------------
509  
510 * Modified srt0.s to include code that initiates registers in IU and FPU
511   and initializes the data segment. The simulator 'load' command does not
512   longer initialize the data segment!
513
514 * Corrected MEC timer operation; scalers now divide the frequency by 
515   (scaler_value + 1).
516
517 * MEC breakpoints are not checked during store operation
518
519
520 version 1.5 14-09-95
521 --------------------
522
523 * Fixed some bugs in the cycle counting for IU & FPU instructions.
524
525 * Fixed bug that allowed an annuled instruction to cause memory exception.
526
527 * The *ws parameter in mem.c should now contain the number of waitstates
528   required by the memory access (was total number of cycles).
529
530 * The supplied srt0.s now clears the BSS (thanks Joel).
531
532 version 1.4 22-08-95
533 --------------------
534
535 * Added a '-g' switch to enable/disable the GNU readline(), which cause
536 some problems on solaris 2.x machines.
537
538 * Enabled MEC watchpoint and breakpoint function to mem.c. Performance 
539 may suffer a bit ...
540
541 NOTE: The UARTs are now connected to /dev/ttypc and /dev/ttypd.
542
543 version 1.3 26-07-95
544 --------------------
545
546 * Fixed bug in mulscc instruction (how could that ever have worked?)
547
548 * Fixed bug in UART B (flushed characters on UART A), thanks Paul.
549
550 version 1.2 13-07-95
551 --------------------
552
553 * Fixed bug in interrupt handling (wrong interrupt selected when more that
554 one interrupt pending)
555
556 * Fixed updating of condition codes during logical instructions (carry and
557 overflow were not reset)
558
559 * Fixed bug in WRTBR (tt field was wrongly over-written)
560
561 version 1.1 07-07-95
562 --------------------
563
564 * Fixed several bugs in the interrupt handler and callback routines.
565 (reported by Paul Warren, Alsys)