]> git.karo-electronics.de Git - karo-tx-redboot.git/blob - packages/hal/arm/arch/v2_0/ChangeLog
484c58440bf6f5d6c9c86723044315d96fc3fbbd
[karo-tx-redboot.git] / packages / hal / arm / arch / v2_0 / ChangeLog
1 2005-04-21  Ian Campbell  <icampbell@arcom.com>
2
3         * src/redboot_linux_exec.c: Added -t option which takes the
4         physical address to copy to. Very useful for booting non-Linux
5         operating systems.
6
7 2005-03-03  Andrew Lunn  <andrew.lunn@ascom.ch>
8
9         * src/redboot_linux_exec.c (CYGARC_HAL_MMU_OFF_X): Fix compiler
10         warning about spaces after continuation character.
11
12 2004-11-23  Jani Monoses <jani@iv.ro>
13
14         * src/vectors.S: Allow DSRs in non-kernel configuration.
15         
16 2004-10-07  Andrew Lunn  <andrew.lunn@ascom.ch>
17
18         * src/arm_stub.c (target_ins): Added a cast to prevent a compiler
19         warning.
20
21 2004-09-02  Mark Salter  <msalter@redhat.com>
22
23         * cdl/hal_arm.cdl (CYGHWR_REDBOOT_LINUX_EXEC_X_SWITCH): New
24         option used to enable "-x" option to exec command.
25         
26         * src/redboot_linux_exec.c (do_exec): Add support for booting
27         kernels built for endianess oppposite of RedBoot.
28
29 2004-07-07  Gary Thomas  <gary@mlbassoc.com>
30
31         * src/redboot_linux_exec.c (do_exec): Fix test for valid entry
32         (was being overwritten by command line parameter)
33
34 2004-05-27  Gary Thomas  <gary@mlbassoc.com>
35
36         * src/redboot_linux_exec.c (do_exec): Be sensitive to value in
37         "entry_address" as this can indicate if the image to be executed
38         is valid (the "load" functions set it to "NO_MEMORY" when invalid)
39
40 2004-05-24   Ian Campbell <icampbell@arcom.com>
41
42         * src/hal_misc.c: __mem_fault_handler: Only do this if we have
43         CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS. This allows the HAL to be 
44         compiled without stubs.
45
46 2004-04-22  Jani Monoses <jani@iv.ro>
47
48          * cdl/hal_arm.cdl :
49          Invoke tail with stricter syntax that works in latest coreutils. 
50
51 2003-11-05  Roland Caßebohm  <roland.cassebohm@visionsystems.de>
52
53         * include/hal_io.h: If defined HAL_IO_MACROS_NO_ADDRESS_MUNGING
54         use macros which don't mung the addresses even if the platform
55         is big-endian. Platforms which don't need address munging can
56         just define HAL_IO_MACROS_NO_ADDRESS_MUNGING in plf_io.h .
57  
58 2003-10-23  Thomas Koeller  <thomas.koeller@baslerweb.com>
59
60         * src/vectors.S: Acknowlege spurious interrupts.
61
62 2003-10-13  Thomas Koeller  <thomas.koeller@baslerweb.com>
63
64         * src/vectors.S: Fixed broken thumb mode exception handling.
65
66 2003-06-30  Mark Salter  <msalter@redhat.com>
67
68         * src/vectors.S: Fix CYGOPT_HAL_ARM_PRESERVE_SVC_SPSR handling.
69
70 2003-06-24  Jonathan Larmour  <jifl@eCosCentric.com>
71
72         * include/hal_arch.h: Include plf_arch.h or var_arch.h if platform
73         or variant requires it to do overrides.
74         (HAL_IDLE_THREAD_ACTION): Default to empty statement but allow to be
75         overridden.
76         
77         * src/hal_misc.c: Remove hal_idle_thread_action. It's no use.
78
79 2003-05-06  Pierre Habraken  <Pierre.Habraken@imag.fr>
80
81         * src/arm_stub.c (target_ins, target_thumb_ins): Added code to
82         enable stepping into swi instructions.
83         
84         * cdl/hal_arm.cdl: Added option CYGOPT_HAL_ARM_PRESERVE_SVC_SPSR for
85         securing exception and breakpoint processing triggered during
86         execution of application specific SWI handlers. Added option
87         CYGOPT_HAL_ARM_WITH_USER_MODE for supporting programs running in
88         user mode.
89         * src/vectors.S (return_from_exception): Added code to exception
90         handling for preserving svc spsr before returning to svc mode.
91         Added code to allow exceptions in user mode.
92         (call_exception_handler, handle_IRQ_or_FIQ): Added code to allow
93         exceptions in user mode.
94         * include/hal_arch.h: Defined CPSR_USER_MODE.
95         * src/hal_mk_defs.c.: Added definition for CPSR_USER_MODE.
96
97 2003-04-30  Jonathan Larmour  <jifl@eCosCentric.com>
98
99         * src/vectors.S (handle_IRQ_or_FIQ): Tweak below to be conditional on
100         __thumb__.
101
102 2003-04-26  Daniel Néri  <daniel.neri@sigicom.se>
103
104         * vectors.S (handle_IRQ_or_FIQ):
105         Use thumb-aware call to hal_spurious_IRQ.
106
107 2003-04-13  Bart Veer  <bartv@ecoscentric.com>
108
109         * src/vectors.S (start): fix build problem with -mthumb
110
111 2003-03-11  Mark Salter  <msalter@redhat.com>
112
113         * src/redboot_linux_exec.c (do_exec): Call eth_drv_stop as necessary.
114
115 2003-02-13  Mark Salter  <msalter@redhat.com>
116
117         * src/redboot_linux_exec.c (do_exec): Add missing semicolon.
118
119 2003-02-13  Gary Thomas  <gary@mlbassoc.com>
120
121         * src/redboot_linux_exec.c (CYGHWR_REDBOOT_LINUX_ATAG_MEM): 
122         Add CYG_MACRO_START/END markers.
123
124 2003-02-12  Gary Thomas  <gary@mlbassoc.com> inspired by
125 2003-02-12  Robin Farine <robin.farine@acn-group.ch>    
126
127         * src/redboot_linux_exec.c: Allow platform to override memory layout.
128         Also, give error if no "-b" option and base/load address unknown.       
129 2003-02-06  Gary Thomas  <gary@mlbassoc.com>
130
131         * src/redboot_linux_exec.c: Make sure RAM description is sane.
132
133 2003-01-31  Mark Salter  <msalter@redhat.com>
134
135         * src/hal_syscall.c (hal_syscall_handler): Let generic syscall code
136         handle exit.
137
138 2003-01-17  Patrick Doyle  <wpd@delcomsys.com>
139
140         * src/redboot_linux_exec.c (do_exec): Round the length up to a
141         multiple of 4 so that the copy loop (which decrements the count by
142         4 each time through) runs a finite length of time.
143         
144         Fixed the calculation of params->u.mem.size so that it doesn't
145         double the memory size if it is already a power of two.
146
147 2003-01-06  Patrick Doyle  <wpd@delcomsys.com>
148
149         * src/redboot_linux_exec.c (do_exec): Added support for, and
150         changed to use, ATAG_INITRD2 instead of ATAG_INITRD.  ATAG_INITRD
151         specifies the virtual address of the ramdisk while ATAG_INITRD2
152         specifies the physical address.
153
154 2002-12-11  Mark Salter  <msalter@redhat.com>
155
156         * include/hal_io.h: Allow variant or platform HALs to override
157         default IO macros.
158
159 2002-11-12  Mark Salter  <msalter@redhat.com>
160
161         * src/arm_stub.c (target_ins): Account for PC prefetch when PC is
162         source register in data processing insns.
163
164 2002-08-29  Mark Salter  <msalter@redhat.com>
165
166         * src/vectors.S: Avoid entering thumb mode in exception handlers.
167
168 2002-08-27  Mark Salter  <msalter@redhat.com>
169
170         * src/arm.ld: Undefine arm to avoid problem with .note.arm.ident.
171
172 2002-08-22  Mark Salter  <msalter@redhat.com>
173
174         * src/arm.ld: Add .note.arm.ident section used by tools to identify
175         architecture variants.
176
177 2002-08-21  Mark Salter  <msalter@redhat.com>
178
179         * src/arm_stub.c: Add support for large registers (e.g. FPU).
180         * include/arm_stub.h: Add infrastructure for support of coprocessors.
181         * include/hal_arch.h: Ditto.
182
183 2002-08-02  Andrew Lunn <Andrew.Lunn@ascom.ch>
184
185         * cdl/hal_arm.cdl: Redboot exec command can now be disabled by CDL
186         
187 2002-07-15  Mark Salter  <msalter@redhat.com>
188
189         * include/arm_stub.h: Comment out NUMREGBYTES.
190
191 2002-05-28  Mark Salter  <msalter@redhat.com>
192
193         * cdl/hal_arm.cdl: Tweaked description for
194         CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS.
195         Add CYGHWR_REDBOOT_ARM_LINUX_TAGS_ADDRESS.
196
197         * src/redboot_linux_exec.c (do_exec): Rework transition to MMU
198         off and jump to kernel so that it works for non 1-1 mapped
199         platforms.
200
201 2002-05-20  Gary Thomas  <gthomas@redhat.com>
202
203         * include/hal_io.h: Fix ...STRING macros - not using index.
204         Pointed out by Thomas Koeller <thomas@koeller.dyndns.org>.
205
206 2002-05-09  Nick Garnett  <nickg@redhat.com>
207
208         * src/vectors.S (handle_IRQ_or_FIQ): Save SVC mode LR in interrupt
209         handling as well as exceptions.
210
211         * src/context.S (hal_thread_switch_context): Use correct size
212         for skipping new HAL_SavedRegisters fields.
213         
214 2002-05-08  Jonathan Larmour  <jlarmour@redhat.com>
215
216         * cdl/hal_arm.cdl: Remove -malignment-traps here - add it only from
217         packages when needed.
218
219 2002-05-08  Nick Garnett  <nickg@redhat.com>
220
221         * src/vectors.S: Added code to save and restore value of SVC mode
222         LR during exception processing. If the exception comes from a
223         non-SVC mode then handling it originally corrupted the SVC mode
224         LR. If the program subsequent returned to SVC mode it was likely
225         to have problems. The registers for modes other than SVC and the
226         exception mode are not touched, so we do not have to save/restore
227         those.
228
229         * src/hal_mk_defs.c: Added definitions for armreg_r10 and
230         armreg_svclr.
231
232         * include/hal_arch.h: Added svc_lr field to HAL_SavedRegisters to
233         save SVC mode link register during exception handling.
234
235 2002-04-30  Jesper Skov  <jskov@redhat.com>
236
237         * cdl/hal_arm.cdl: Forcibly add -malignment-traps to the compiler
238         options to work around problem with recent compiler. This can be
239         removed when the tools are respun.
240
241 2002-04-29  Jonathan Larmour  <jlarmour@redhat.com>
242
243         * src/vectors.S:
244         Don't use .file as it can confuse debugging since the .file
245         doesn't contain the path and therefore the debugger will never
246         know where it lives! This conflicts with using -Wa,--gstabs.
247
248 2002-04-25  Gary Thomas  <gthomas@redhat.com>
249
250         * src/vectors.S: Safer clearing of BSS.
251
252 2002-04-15  Jonathan Larmour  <jlarmour@redhat.com>
253
254         * src/hal_syscall.c (hal_syscall_handler): Add extra sig argument to
255         __do_syscall.
256
257 2002-04-15  Mark Salter  <msalter@redhat.com>
258
259         * src/vectors.S: Rewrite exception handling to allow exceptions
260         in any privileged mode.
261         * src/hal_mk_defs.c (main): Add some regs.
262         * include/hal_arch.h (HAL_SavedRegisters): Slight rearrangement.
263         * src/context.S (hal_thread_switch_context): Use new context layout.
264         (hal_thread_load_context): Ditto.
265
266 2002-04-11  Jesper Skov  <jskov@redhat.com>
267
268         * src/arm.ld: Fixed .sbss rule.
269
270 2002-04-10  Jonathan Larmour  <jlarmour@redhat.com>
271
272         * src/arm.ld: Define .gnu.linkonce sections properly.
273         Remove sbss from data section.
274
275 2002-03-27  Gary Thomas  <gthomas@redhat.com>
276
277         * src/vectors.S: Use interrupt stack during system initialzation
278         if configured since this stack will be much larger than the default
279         idle thread stack.  Some configurations (think networking) may use
280         lots of stack space during system startup and the assumption that
281         the idle thread stack does not need much space fails miserably.
282
283 2002-02-19  Mark Salter  <msalter@redhat.com>
284
285         * src/arm_stub.c (target_thumb_ins): Check architecture version
286         to decide how to handle pop insn.
287         (v5T_semantics): New function. Returns true for v5 and later.
288
289 2002-02-08  Jesper Skov  <jskov@redhat.com>
290
291         * src/arm_stub.c (target_thumb_ins): The result of a POP
292         instruction changing the PC must be the address of a THUMB
293         instruction.
294
295 2002-01-29  Jesper Skov  <jskov@redhat.com>
296
297         * src/redboot_linux_exec.c: Include hal_io.h instead of CRUFT_H.
298         (do_exec): Add nops after loop copying trampoline code. Removed
299         one argument to the assembly: code only works if virt==phys
300         mapping anyway. This should be rewritten to be safe for all
301         possible targets.
302
303 2002-01-28  Jesper Skov  <jskov@redhat.com>
304
305         * include/hal_io.h: Include var_io.h if present, otherwise include
306         plf_io.h. This makes the ARM HAL match the other HALs better in
307         this regard, allowing platform IO definitions to override variant
308         IO definitions while allowing sharing code between platforms of
309         the same variant.
310
311 2002-01-25  Jesper Skov  <jskov@redhat.com>
312
313         * cdl/hal_arm.cdl: Added RedBoot options.
314         * src/redboot_linux_exec.c: Added generic version of the RedBoot
315         exec command to be shared by all ARM platforms. Still needs some
316         cleaning up after CYGARC_ memory macros find their proper home.
317
318 2002-01-08  Hugo Tyson  <hmt@redhat.com>
319
320         * cdl/hal_arm.cdl (CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT): New
321         option, implements CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT so
322         RedBoot knows we can do this.  Only active if indeed we can.
323
324         * include/hal_arch.h (HAL_GET_PROFILE_INFO): New macro, to extract
325         the interrupted PC and SP from a struct HAL_SavedRegisters.  Used
326         for histogram-style profiling.
327
328 2001-11-02  Hugo Tyson  <hmt@redhat.com>
329
330         * include/arm_stub.h (CYG_HAL_GDB_LEAVE_CRITICAL_IO_REGION): Nasty
331         bodge to fix a tools issue where an "unused" label is migrated to
332         where some real code is, ie. the wrong place in this case.
333         Problem applies to arm9e-elf tools and other arm variants also.
334
335 2001-10-29  Hugo Tyson  <hmt@redhat.com>
336
337         * src/arm.ld (SECTION_rom_vectors): Define symbols used for ROMRAM
338         startup; for some reason these were not in the trunk.  They are:
339         __rom_vectors_vma and __rom_vectors_lma
340
341 2001-10-24  Gary Thomas  <gthomas@redhat.com>
342
343         * src/hal_misc.c (hal_msbindex): Fix calculation.
344
345 2001-10-23  Hugo Tyson  <hmt@redhat.com>
346
347         * include/hal_mmu.h (MMU_Control_Z,F,RR): Some extra defines for
348         newer ARM architectures.
349
350 2001-10-11  Fabrice Gautier  <Fabrice_Gautier@sdesigns.com>
351
352         * include/hal_io.h: Add _STRING variants of I/O macros to allow
353         writing of consecutive items to the same registers.
354
355 2001-10-02  Jonathan Larmour  <jlarmour@redhat.com>
356
357         * include/hal_arch.h: Remove CYG_HAL_TABLE_BEGIN and CYG_HAL_TABLE_END
358         as the common versions are acceptable.
359
360 2001-10-01  Jonathan Larmour  <jlarmour@redhat.com>
361
362         * src/arm.ld: Make separate section for GOT and .eh_frame.
363         Make macro section for all reloc sections.
364         Input extras.o unconditionally.
365         * cdl/hal_arm.cdl: Don't bother with -DEXTRAS=1 - unconditional now.
366
367 2001-08-24  Mark Salter  <msalter@redhat.com>
368
369         * src/arm_stub.c (target_thumb_ins): Add support for pop insn.
370
371 2001-08-21  Hugo Tyson  <hmt@redhat.com>
372
373         * include/hal_intr.h: Only define HAL_CLOCK_LATENCY() if it's not
374         defined already (if it's needed at all).  This is for platforms
375         which need a separate routine, such as sa11x0.
376
377 2001-07-19  Gary Thomas  <gthomas@redhat.com>
378
379         * src/vectors.S: Support ROMRAM startup mode.  Note: most of
380         the support for this mode will be in the platform setup code.
381
382 2001-07-18  Gary Thomas  <gthomas@redhat.com>
383
384         * src/hal_mk_defs.c (main): FIQ no longer listed as an exception.
385
386 2001-07-17  Jonathan Larmour  <jlarmour@redhat.com>
387
388         * include/hal_intr.h: Define range of exceptions more accurately.
389
390 2001-07-16  Gary Thomas  <gthomas@redhat.com>
391
392         * src/hal_misc.c (exception_handler): Allow memory faults to be
393         caught, even when GDB stubs are not included.
394
395 2001-06-22  Gary Thomas  <gthomas@redhat.com>
396
397         * include/arm_stub.h (NUMREGBYTES): Define - this tells GDB how 
398         large it's communications buffers need to be.
399
400 2001-06-05  Gary Thomas  <gthomas@redhat.com>
401 2001-06-05  Thomas Fähnle <thomas.faehnle@tst-ag.de>
402
403         * src/vectors.S (spurious_IRQ): Better handling of spurious ints.
404         Pass register frame to handler.
405
406 2001-05-23  Gary Thomas  <gthomas@redhat.com>
407
408         * src/vectors.S: Allow platforms to define a 'preamble' which gets
409         included _before_ the vectors.  This is often required for modules
410         which are run from ROM/Flash.
411
412 2001-04-30  Gary Thomas  <gthomas@redhat.com>
413
414         * src/vectors.S (__exception_handlers): Platforms must explicitly 
415         define CYGSEM_HAL_ROM_RESET_USES_JUMP if required.
416
417 2001-04-27  Hugo Tyson  <hmt@redhat.com>
418
419         * src/vectors.S: Platforms without CYGHWR_HAL_ARM_HAS_MMU defined
420         require that the reset jump be straight up to ROM.  So you can't
421         just use a local branch.  This is needed to make RedBoot in the
422         EBSA285 work, for example.
423
424 2001-04-19  Gary Thomas  <gthomas@redhat.com>
425
426         * cdl/hal_arm.cdl: Fix typo for ARM9 systems.
427
428 2001-04-18  Gary Thomas  <gthomas@redhat.com>
429
430         * src/vectors.S: Add new flag 'CYG_HAL_ROM_RESET_USES_JUMP' to control
431         how RESET is handled.  This is normally set for ROM applications, but
432         can be overridden by platform code for situations when it is unsuitable
433         to have a branch as the RESET instruction.
434
435 2001-04-16  Gary Thomas  <gthomas@redhat.com>
436
437         * cdl/hal_arm.cdl: Add new interfaces to describe CPU family and
438         option possiblities.
439
440 2001-04-07  Mark Salter  <msalter@redhat.com>
441
442         * src/arm_stub.c: Add support for v5T BLX insn.
443
444 2001-03-30  Mark Salter  <msalter@redhat.com>
445
446         * src/vectors.S (__exception_handlers): Don't use relative branch
447         for reset on iq80310.
448
449 2001-03-28  Hugo Tyson  <hmt@redhat.com>
450
451         * src/vectors.S (__GDB_stack_base): Increase stubs stack size to
452         "enough".  We tend to have either RedBoot (with no interrupt
453         stack) or an app (with no stubs stack) these days, so I used
454         CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE.  It defaults to 4k in
455         RedBoot which is enough compared to the previous hard-wired 1k.
456         The overflow occurred in RedBoot, with i82559 ether driver, during
457         GDB connection - but manifested as "network stack out of buffers"
458         because of a recursion in trying to report a trap.
459
460 2001-02-24  Gary Thomas  <gthomas@redhat.com>
461
462         * include/hal_mmu.h (MMU_Control_X): Add - used by Win/CE.
463
464         * src/vectors.S (__exception_handlers): Change RESET vector
465         to use jump for ROM based applications [safer].
466         (warm_reset): Only do 'swi' contortions when starting RAM
467         applications from Angel.
468
469 2001-02-22  Jesper Skov  <jskov@redhat.com>
470
471         * src/arm.ld: Relocate .2ram sections to the .data section.
472
473 2001-02-20  Jesper Skov  <jskov@redhat.com>
474
475         * cdl/hal_arm.cdl: Added CYGBLD_ARM_ENABLE_THUMB_INTERWORK.
476
477 2001-02-13  Gary Thomas  <gthomas@redhat.com>
478
479         * src/vectors.S (handle_IRQ_or_FIQ): Change behaviour for
480         handling spurious interrupts.
481
482         * src/hal_misc.c (hal_spurious_IRQ): New function - called
483         when a spurious interrupt is detected.  Defined as "weak"
484         so platforms can provide localized support.
485
486         * src/hal_mk_defs.c: 
487         * include/hal_intr.h (CYGNUM_HAL_INTERRUPT_NONE): Define.
488
489 2001-02-09  Hugo Tyson  <hmt@redhat.com>
490
491         * src/vectors.S (UNMAPPED()): Handle CYGHWR_HAL_ROM_VADDR if so
492         defined; this is used when compiling for a different location from
493         the base of ROM.  hal_platform_setup.h might define it.  For
494         example, if flash is from 0x50000000 upwards (as on SA11x0), and
495         we are to execute at 0x50040000, then we want the reset vector to
496         point to 0x0004pqrs - the unmapped ROM address of the code -
497         rather than 0x0000pqrs, which is the offset into our flash block.
498         But usually it's not defined, so the behaviour is the obvious.
499
500 2001-02-08  Jesper Skov  <jskov@redhat.com>
501
502         * include/arm_vv.h: Removed again, compiler does magic to thumb
503         function pointers.
504         * include/hal_arch.h: Same.
505
506 2001-02-07  Jesper Skov  <jskov@redhat.com>
507
508         * include/arm_vv.h: Added virtual vector accessor macros that will
509         properly mangle function pointers in thumb mode.
510         * include/hal_arch.h: Include arm_vv.h
511         * src/vectors.S: ctrlc_init can be called for thumb now (but
512         requires ROM monitor to be built with -mthumb-interwork)
513
514 2001-02-02  Mark Salter  <msalter@redhat.com>
515
516         * src/arm_stub.c (__arm_breakinst): New ARM breakpoint insn.
517         (__thumb_breakinst): New thumb breakpoint insn.
518         (__is_bsp_syscall): Check for actual SWI number and support
519         thumb.
520
521         * include/hal_arch.h (HAL_BREAKINST_ADDR): New macro to provide
522         address of correct breakpoint insn of the given length.
523
524 2001-02-01  Jesper Skov  <jskov@redhat.com>
525
526         * src/hal_misc.c: Don't use diag_printf directly (rely on tracing
527         macros).
528
529 2001-01-31  Mark Salter  <msalter@redhat.com>
530
531         * src/vectors.S (FIQ): Fix broken fiq handling.
532
533 2001-01-31  Jesper Skov  <jskov@redhat.com>
534
535         * cdl/hal_arm.cdl:  Get rid of CYGDBG_HAL_DIAG_DISABLE_GDB_PROTOCOL
536         options. They are replaced by the
537         CYGSEM_HAL_DIAG_MANGLER option.
538
539 2001-01-24  Jonathan Larmour  <jlarmour@redhat.com>
540
541         * src/vectors.S (init_flag): Add explicit alignment, just in case.
542         From Ilko Iliev <iliev@caretec.at>
543
544 2001-01-11  Hugo Tyson  <hmt@redhat.com>
545
546         * src/vectors.S (hal_dram_size): Create hal_dram_type in memory at
547         0x44, right after hal_dram_size.
548
549         * include/hal_intr.h: Add an extern for the word at 0x44, named
550         hal_dram_type (as in hal_dram_size).  This can be used for
551         platform HALs to know how to decode VIRT_TO_PHYS addresses and
552         vice versa.
553
554 2000-12-13  Hugo Tyson  <hmt@redhat.com>
555
556         * include/hal_intr.h: Handle variant-, and possible overriding
557         platform-, specific interrupt files <cyg/hal/hal_platform_ints.h>.
558         This is to simplify the multiple SA11x0 targets which have no
559         variation there.        
560
561 2000-12-11  Gary Thomas  <gthomas@redhat.com>
562
563         * src/vectors.S (warm_reset): 'hal_dram_size' is now only set in
564         platform code - no need to mess with (pure pollution) it here.
565
566 2000-11-19  Gary Thomas  <gthomas@redhat.com>
567
568         * include/hal_io.h: Use CYGBLD_HAL_PLATFORM_IO_H for those platforms
569         which define it (relieves this file of messy includes).
570
571 2000-11-16  Jesper Skov  <jskov@redhat.com>
572
573         * include/basetype.h: Define LABEL mangling macros.
574
575         * include/arch.inc: Added.
576
577 2000-11-06  Mark Salter  <msalter@redhat.com>
578
579         * src/hal_syscall.c: New file. Arm interface to redboot's
580         handler for GNUPro based application library syscalls.
581
582         * src/arm_stub.c (__is_bsp_syscall): New function. Return
583         true if exception caused by bsp SWI.
584
585         * include/arm_stub.h: Add declaration for __is_bp_syscall.
586
587         * cdl/hal_arm.cdl: Add hal_syscall.c to compile list.
588
589 2000-11-04  Mark Salter  <msalter@redhat.com>
590
591         * include/hal_io.h: Include cyg/hal/plf_io.h for IQ80310.
592
593         * src/arm_stub.c (__computeSignal): New interface for
594         HAL_STUB_IS_STOPPED_BY_HARDWARE
595
596 2000-10-27  Mark Salter  <msalter@redhat.com>
597
598         * src/arm_stub.c: Removed uneccesary include.
599
600         * src/vectors.S (start): Fix use of registers which may have
601         been destroyed by an LED macro.
602
603 2000-10-26  Mark Salter  <msalter@redhat.com>
604
605         * src/arm_stub.c (__computeSignal): Add hook for platforms to
606         check for hw watchpoint/breakpoint events.
607         (__install_breakpoints): Support HAL breakpoint list.
608         (__clear_breakpoints): Ditto.
609
610         * include/hal_arch.h (HAL_BREAKINST_TYPE): Define. Needed by
611         hw watchpoint/breakpoint support in stub.
612
613 2000-10-20  Jesper Skov  <jskov@redhat.com>
614
615         * src/hal_misc.c: Update __mem_fault_handler declaration.
616
617 2000-09-05  Andrew Lunn <andrew.lunn@ascom.ch>
618
619         * include/basetype.h: Override the alignment macros for the ARM
620         architecture. The ARM compiler only alows a maximum of 4 bytes
621         of alignment where as the default is 8
622         
623 2000-08-15  Hugo Tyson  <hmt@cygnus.co.uk>
624
625         * src/arm.ld (SECTION_text): Change it back so that
626         infra/... range checking can see them.  _stext and _etext as seen
627         from C are the eventual destination, so this is a step in the
628         right direction.  You must hack if building redboot, for now.
629
630 2000-08-14  Hugo Tyson  <hmt@cygnus.co.uk>
631
632         * src/arm.ld (SECTION_text): Change to stext and etext unadorned
633         with underlines so that RedBoot can see them.
634
635 2000-08-14  Gary Thomas  <gthomas@redhat.com>
636
637         * include/hal_arch.h: 
638         * src/arm.ld: Changes to support new [anonymous] tables.
639
640 2000-07-17  Jesper Skov  <jskov@redhat.com>
641
642         * src/vectors.S (start): Hack to allow thumb tests to run in farm
643         until vector table Thumb/ARM API is fixed.
644
645 2000-07-07  Jesper Skov  <jskov@redhat.com>
646
647         * src/arm_stub.c: Changes to support CygMon changes.
648
649         * src/hal_misc.c: Fix warnings.
650
651 2000-07-05  Jesper Skov  <jskov@redhat.com>
652
653         * src/hal_misc.c: 
654         * src/vectors.S:
655         All platforms now has VECTOR_SUPPORT (or provide alternative
656         implementations). Removed checks for the option.
657
658 2000-07-04  Jonathan Larmour  <jlarmour@redhat.co.uk>
659
660         * cdl/hal_arm.cdl: Add CYGINT_HAL_ARM_MEM_REAL_REGION_TOP
661         interface
662
663         * include/hal_intr.h: If the platform implements the
664         CYGINT_HAL_ARM_MEM_REAL_REGION_TOP interface, define a new
665         HAL_MEM_REAL_REGION_TOP macro appropriately
666
667 2000-06-28  Jesper Skov  <jskov@redhat.com>
668
669         * src/hal_mk_defs.c:
670         * src/arm_stub.c: 
671         Fix compiler warnings.
672
673 2000-06-21  Nick Garnett  <nickg@cygnus.co.uk>
674
675         * include/hal_arch.h:
676         Added local variants of CYG_HAL_TABLE_BEGIN() and
677         CYG_HAL_TABLE_END() since the ARM assembler implements some of
678         this code with a slightly different syntax to all the other
679         targets.
680
681         * include/basetype.h:
682         Removed definition of CYG_LABEL_NAME(). Now dealt with by default
683         definition in cyg_type.h.
684         
685         * src/hal_misc.c: 
686         * src/arm_stub.c:
687         Removed use of CYG_LABEL_NAME(), added underscore to _breakinst.
688
689         * src/arm.ld:
690         Added extra underscores to _stext and _etext.
691         Switched over to new table creation mechanism.  
692
693 2000-06-19  Gary Thomas  <gthomas@redhat.com>
694
695         * src/vectors.S: Changes for virtual vector support.
696         (hal_virtual_vector_table): Need to protect if virtual vector
697         stuff not defined.
698
699         * src/hal_mk_defs.c: Add symbols for virtual vector table.
700
701         * src/hal_misc.c (hal_arch_default_isr): New function.  Used in
702         place of 'hal_default_isr' if virtual vector support is enabled.
703
704         * include/hal_intr.h: "Fixed" items now exported in 'vectors.S'
705
706         * src/vectors.S: Add notion of "fixed vectors" to all platforms.
707
708 2000-06-08  Jesper Skov  <jskov@redhat.com>
709
710         * include/hal_arch.h (CYGARC_HAL_SAVE_GP, CYGARC_HAL_RESTORE_GP):
711         Added.
712
713 2000-06-04  Gary Thomas  <gthomas@redhat.com>
714
715         * src/vectors.S: Add support for platform specific "vectors"
716         which may need to end up in predefined memory locations.
717         * src/arm.ld: Add separate 'fixed_vectors' section.
718
719 2000-06-01  Gary Thomas  <gthomas@redhat.com>
720
721         * include/hal_mmu.h (MMU_Control_I): Added for StrongARM support.
722
723 2000-04-10  Hugo Tyson  <hmt@cygnus.co.uk>
724
725         * include/arm_stub.h (CYG_HAL_GDB_ENTER_CRITICAL_IO_REGION): Only
726         use this complex version if we have
727         CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT ie. the place_break &c routines
728         existed anyway.  This is an artificial limitation, somewhat, but
729         not so painful in reality.
730
731 2000-04-04  Jesper Skov  <jskov@redhat.com>
732
733         * src/context.S: 
734         * src/vectors.S: 
735         Wrap the trivial thumb stuff in macros so the important bits stand
736         out.
737         Fix dumb bug.
738         
739 2000-03-24  Jesper Skov  <jskov@redhat.com>
740
741         * src/arm_stub.c: Make place_break thumb-aware.
742
743         * include/arm_stub.h (CYG_HAL_GDB_ENTER_CRITICAL_IO_REGION): 
744         Thumb-aware definition.
745         
746 2000-03-01  Gary Thomas  <gthomas@cygnus.co.uk>
747
748         * cdl/hal_arm.cdl: 
749         Implement CYGINT_HAL_DIAG_DISABLE_GDB_PROTOCOL_SUPPORTED.
750         
751 2000-02-29  Jonathan Larmour  <jlarmour@redhat.co.uk>
752
753         * include/arm_stub.h: Make header C++ safe
754
755 2000-02-28  Gary Thomas  <gthomas@cygnus.co.uk>
756
757         * src/hal_misc.c: Use standard 'diag_dump_buf()' instead of
758         private version.
759
760 2000-02-16  Jesper Skov  <jskov@redhat.com>
761
762         * src/arm_stub.c: CYG_HAL_ARM -> CYGPKG_HAL_ARM
763
764 2000-02-10  Jesper Skov  <jskov@redhat.com>
765
766         * src/vectors.S (reset_platform):
767         Removed handling of stubs startup type.
768
769 2000-02-09  Jesper Skov  <jskov@redhat.com>
770
771         * cdl/hal_arm.cdl: Removed some fix mes.
772
773 2000-02-01  Jonathan Larmour  <jlarmour@redhat.co.uk>
774
775         * cdl/hal_arm.cdl: Add missing CYGIMP_HAL_PROCESS_ALL_EXCEPTIONS
776         and CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT
777         options from include/pkgconf/hal_arm.h
778
779 2000-02-01  Jesper Skov  <jskov@redhat.com>
780
781         * src/vectors.S: Treat ROM startup+ROM monitor as STUBS startup.
782
783         * src/arm.ld: Changed PID BE workaround to work with ROM startup.
784         Not just when building stubs.
785         
786 2000-01-28  Gary Thomas  <gthomas@cygnus.co.uk>
787
788         * src/arm.ld: Add new section 'netdevtab' used to support
789         network device initialization.
790
791 2000-01-26  Jonathan Larmour  <jlarmour@redhat.co.uk>
792
793         * src/hal_misc.c (exception_handler): Replace CYGDAT_CYGMON_ENABLE
794         dependency with just CYGPKG_CYGMON
795         * src/arm_stub.c (__clear_breakpoints): Likewise
796
797 1999-12-16  Gary Thomas  <gthomas@cygnus.co.uk>
798
799         * src/arm.ld: Include all SRAM (*.sram*) sections.
800
801 1999-12-09  John Dallaway  <jld@cygnus.co.uk>
802
803         * cdl/hal_arm.cdl: Add big-endian option.
804
805 1999-12-08  Gary Thomas  <gthomas@cygnus.co.uk>
806
807         * src/arm.ld: Add ".sram" section support (used by platforms
808         that have separate SRAM and DRAM).
809
810 1999-12-07  Jesper Skov  <jskov@cygnus.co.uk>
811
812         * cdl/hal_arm.cdl: Added ARM7/ARM9 family option.
813
814 1999-12-06  Gary Thomas  <gthomas@cygnus.co.uk>
815
816         * src/vectors.S (software_interrupt): Context save was incorrect
817         for this mode.  Note that when entering from supervisor mode, the
818         link register (LR) is destroyed.
819
820 1999-12-02  John Dallaway  <jld@cygnus.co.uk>
821
822         * cdl/hal_arm.cdl:
823
824         Use the <PACKAGE> token in custom rules.
825
826 1999-12-01  John Dallaway  <jld@cygnus.co.uk>
827
828         * cdl/hal_arm.cdl:
829
830         Use the <PREFIX> token in custom rules.
831
832 1999-11-22  Gary Thomas  <gthomas@cygnus.co.uk>
833
834         * src/arm.ld: Add section for definining static MMU tables.
835
836         * src/vectors.S: Introduce PLATFORM_EXTRAS, which if defined provides
837         a hook to include platform code in the "vectors.S" file.  In particular,
838         some platforms will define this to be <cyg/hal/hal_platform_extras.h> 
839         and define static MMU tables there.
840
841 1999-11-19  Jonathan Larmour  <jlarmour@cygnus.co.uk>
842
843         * include/basetype.h (CYG_BYTEORDER): If the toolchain tells us to be
844         big-endian, be big-endian
845         Reported by Grant Edwards
846
847 1999-11-12  Gary Thomas  <gthomas@cygnus.co.uk>
848
849         * src/vectors.S (reset_platform): New function used to reset board
850         in the absense of real hardware reset (not possible on all boards).
851
852 1999-11-11  John Dallaway  <jld@cygnus.co.uk>
853
854         * cdl/hal_arm.cdl:
855
856         Generate 'arm.inc' in the build tree.
857
858 1999-11-05  John Dallaway  <jld@cygnus.co.uk>
859
860         * cdl/hal_arm.cdl:
861
862         Add complete dependency analysis to the custom
863         rule for 'arm.inc'.
864
865 1999-11-04  John Dallaway  <jld@cygnus.co.uk>
866
867         * cdl/hal_arm.cdl:
868
869         Tidy up custom rules.
870
871 1999-11-04  John Dallaway  <jld@cygnus.co.uk>
872
873         * cdl/hal_arm.cdl:
874
875         Output custom rule dependency information to .deps files in
876         the current directory.
877
878         Dispense with the need to create a 'src' sub-directory.
879
880 1999-11-01  Jonathan Larmour  <jlarmour@cygnus.co.uk>
881
882         * src/hal_misc.c (exception_handler): Check for CYGDAT_CYGMON_ENABLE
883         rather than just CYGPKG_CYGMON
884         Include <pkgconf/cygmon.h> to get this define
885
886 1999-10-29 Simon FitzMaurice <sdf@cygnus.co.uk>
887
888         * cdl/hal_arm.cdl:
889
890         Use fgrep instead of grep in custom rules.  The latter seems
891         to behave weirdly under win32.
892
893 1999-10-27  Gary Thomas  <gthomas@cygnus.co.uk>
894
895         * src/arm_stub.c: Fix typo (CYGDAT_CYGMON_ENABLE).  Also need
896         to include <pkgconf/cygmon.h>
897
898 1999-10-27  Gary Thomas  <gthomas@cygnus.co.uk>
899
900         * src/arm_stub.c: Add explicit enable for CygMon package.
901
902 1999-10-27  Hugo Tyson  <hmt@cygnus.co.uk>
903
904         * src/arm_stub.c (cyg_hal_gdb_interrupt): Bugfix to previous: ^Cs
905         were being ignored when received by the diag output code, because
906         there was already a break in place.  Solution is to let
907         cyg_hal_gdb_interrupt() override any previous break, and tidy up
908         state of course.
909
910 1999-10-26  Hugo Tyson  <hmt@cygnus.co.uk>
911
912         * src/arm_stub.c (cyg_hal_gdb_place_break): Add this to the
913         ARM-specific GDB stub code.  See hal/common/.../hal_stub for
914         details.
915
916 1999-10-26  John Dallaway  <jld@cygnus.co.uk>
917
918         * cdl/hal_arm.cdl:
919
920         Invoke 'sh' version of 'mkdir' explicitly in custom rules.
921
922 1999-10-26  Jesper Skov  <jskov@cygnus.co.uk>
923
924         * src/vectors.S: Cleaned up LED code a bit.
925
926 1999-10-25  Gary Thomas  <gthomas@cygnus.co.uk>
927
928         * src/hal_misc.c (exception_handler): If building for CygMon, defer
929         exception processing to it, not here.
930
931         * src/arm_stub.c (__install_breakpoints, __clear_breakpoints): 
932         Leave out these [dummy] functions if building CygMon.
933
934         * include/pkgconf/hal_arm.h: Add new configuration option to let
935         programs which do not include GDB stubs still process "illegal
936         instruction" exceptions.
937
938         * src/vectors.S: Reorder context restore so stack changes are
939         protected (interrupts off).
940
941 1999-10-26  Jesper Skov  <jskov@cygnus.co.uk>
942
943         * src/arm.ld: Added support for merging RODATA sections into DATA
944         * include/hal_io.h: Added BE support.
945         
946         * src/vectors.S (LED): Added definition for PID board.
947
948 1999-10-26  John Dallaway  <jld@cygnus.co.uk>
949
950         * cdl/hal_arm.cdl:
951
952         Modify custom make rules to specify file paths relative
953         to the package version directory.
954
955 1999-10-22  Hugo Tyson  <hmt@cygnus.co.uk>
956
957         * src/arm_stub.c (cyg_hal_gdb_running_step):
958         (cyg_hal_gdb_break_is_set): Provide dummies for these two for now.
959         See changelog for hal/common/ hal_stub and generic_stub for info.
960
961 1999-10-21  Jonathan Larmour  <jlarmour@cygnus.co.uk>
962
963         * include/hal_arch.h: Tidy a bit so the breakpoint instruction is only
964         defined in one place
965         Change thumb breakpoint instruction to 0xbebe
966
967 1999-10-18  John Dallaway  <jld@cygnus.co.uk>
968
969         * cdl/hal_arm.cdl:
970
971         Add cdl_option CYGHWR_THUMB.
972
973 1999-10-14  Jesper Skov  <jskov@cygnus.co.uk>
974         From James Ingham <jingham@cygnus.com>:
975         * src/PKGconf.mak: Make sed invocation Solaris safe.
976
977 1999-10-11  Jesper Skov  <jskov@cygnus.co.uk>
978
979         * src/vectors.S (reset_vector): Always execute PLATFORM_SETUP1.
980
981 1999-10-10  Gary Thomas  <gthomas@cygnus.co.uk>
982
983         * include/pkgconf/hal_arm.h: 
984         * src/vectors.S: 
985         * src/arm_stub.c: Add thread debug support via Multi-ICE.
986
987 1999-10-08  Jonathan Larmour  <jlarmour@cygnus.co.uk>
988
989         * src/arm.ld (SECTION_bss): Make *(.bss*) rather than just .bss, to
990         cater for nickc's BSS gc improvements.
991
992 1999-10-06  Jesper Skov  <jskov@cygnus.co.uk>
993
994         * include/basetype.h: Set endian to BE if required.
995
996 1999-10-05  Jesper Skov  <jskov@cygnus.co.uk>
997
998         * src/arm.ld: Force output format to BE if required.
999
1000 1999-09-30  Jesper Skov  <jskov@cygnus.co.uk>
1001
1002         * src/vectors.S: Add thumb_func before thumb code where switching
1003         so GDB/objdump knows how to disassemble it.
1004         * include/hal_arch.h: Change thumb breakpoint to undefined
1005         instruction.
1006         * src/arm_stub.c (target_thumb_ins): Corrected branch offsets.
1007
1008 1999-09-23  Gary Thomas  <gthomas@cygnus.co.uk>
1009
1010         * src/vectors.S (call_exception_handler): Change on 09-19 messed up
1011         status register wrt breakpoints, single stepping, etc.
1012
1013 1999-09-21  Gary Thomas  <gthomas@cygnus.co.uk>
1014
1015         * include/hal_arch.h: Remove FIXME about GDB register layout.
1016
1017         * src/context.S (hal_thread_save_context): Change function prologue
1018         to match APCS more closely (keeps GDB happier).
1019
1020 1999-09-19  Gary Thomas  <gthomas@cygnus.co.uk>
1021
1022         * src/vectors.S (spurious_IRQ): Make sure interrupts are masked
1023         when switching to IRQ mode.
1024
1025         * src/hal_misc.c (exception_handler): GDB stubs only take over
1026         memory exceptions.  This allows proper handling when an application
1027         has it's own IRQ/FIQ VSR.
1028
1029 1999-09-16  Jesper Skov  <jskov@cygnus.co.uk>
1030
1031         * src/arm.ld: Handle thumb glue sections.
1032
1033 1999-09-16  Jesper Skov  <jskov@cygnus.co.uk>
1034
1035         * src/vectors.S: Always include thumb exception support.
1036
1037 1999-09-15  Jesper Skov  <jskov@cygnus.co.uk>
1038
1039         * src/context.S: Don't trash r0 which holds the thread's initial
1040         argument.
1041
1042         * include/hal_arch.h: 
1043         * src/arm_stub.c: 
1044         Added thumb-aware GDB interrupt functions.
1045         
1046 1999-09-14  Jesper Skov  <jskov@cygnus.co.uk>
1047
1048         * src/vectors.S (undefined_instruction): Adjusted wrong register.
1049         * src/arm_stub.c (target_thumb_ins): Set thumb flag when required.
1050         (target_ins): Added BX handling.
1051
1052         * src/vectors.S:
1053         * include/hal_arch.h: 
1054         * src/hal_mk_defs.c:
1055         * src/arm_stub.c (__single_step): 
1056         Determine thumb mode by looking at T bit.
1057
1058 1999-09-10  Jesper Skov  <jskov@cygnus.co.uk>
1059
1060         * src/arm_stub.c (target_thumb_ins): BL is a double instruction.
1061
1062 1999-09-13  Gary Thomas  <gthomas@cygnus.co.uk>
1063
1064         * src/vectors.S (handle_IRQ_or_FIQ): Allow spurious interrupts
1065         to be ignored.  Some platforms (CL7xxx) have non-debounced 
1066         interrupt sources which can vanish before the hardware can be
1067         queried.
1068
1069 1999-09-11  Jonathan Larmour  <jlarmour@cygnus.co.uk>
1070
1071         * src/arm_stub.c (__computeSignal): Synchronise return value with
1072         what libbsp does and GDB expects
1073         (__get_trap_number): Don't shift right 8 - it's already the right number
1074
1075 1999-09-10  Jesper Skov  <jskov@cygnus.co.uk>
1076
1077         * src/vectors.S (start): Moved stub vector changeover to after
1078         stub init.
1079
1080 1999-09-09  Jesper Skov  <jskov@cygnus.co.uk>
1081
1082         * include/hal_arch.h (HAL_BREAKPOINT):
1083         * src/arm_stub.c:
1084         * src/vectors.S:
1085         Added thumb stub support (except C-c support).
1086         
1087 1999-08-24  Gary Thomas  <gthomas@cygnus.co.uk>
1088
1089         * src/vectors.S: Fix misc THUMB procedures.
1090
1091 1999-08-24  Hugo Tyson  <hmt@masala.cygnus.co.uk>
1092
1093         * src/vectors.S (handle_IRQ_or_FIQ): Set up the pointer-to-regset
1094         in r2 for calling the ISR as well as the DSR.  This is needed for
1095         the cyg_hal_gdb_isr() for those platforms that handle ^C's
1096         incoming that way - the ISR needs a regset to know where to plant
1097         a breakpoint to stop the system in the interrupted context.
1098
1099 1999-08-24  Jesper Skov  <jskov@cygnus.co.uk>
1100
1101         * src/vectors.S (LED): Check XBUS setting jumper and behave
1102         accordingly.
1103
1104 1999-08-23  Jesper Skov  <jskov@cygnus.co.uk>
1105
1106         * src/arm_stub.c 
1107         (target_ins): Check whether branches execute.
1108         (ins_will_execute): Fixed HI and LS.
1109
1110 1999-08-13  John Dallaway  <jld@cygnus.co.uk>
1111
1112         * cdl/hal_arm.cdl: Add path to CYGBLD_LINKER_SCRIPT value.
1113
1114 1999-08-12  John Dallaway  <jld@cygnus.co.uk>
1115
1116         * cdl/hal_arm.cdl: Define CYGBLD_LINKER_SCRIPT.
1117
1118 1999-08-12  Jesper Skov  <jskov@cygnus.co.uk>
1119
1120         * include/hal_io.h: Include plf_io.h when appropriate.
1121
1122 1999-08-06  Jesper Skov  <jskov@cygnus.co.uk>
1123         CR 101032
1124         * src/vectors.S (handle_IRQ_or_FIQ): Moved setup of register_frame
1125         argument to just before the interrupt_end call.
1126
1127 1999-07-28  Hugo Tyson  <hmt@cygnus.co.uk>
1128
1129         * src/vectors.S (_eCos_id): Remove bogus version string.
1130
1131 1999-07-26  Hugo Tyson  <hmt@cygnus.co.uk>
1132
1133         * src/hal_misc.c (hal_default_isr): Call the special platform HAL
1134         routine to see whether there is a ^C lurking in the serial device
1135         through a macro, if it's defined.  Problem is that
1136         CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT *is* defined for platforms that
1137         do not support it.
1138
1139 1999-07-23  Hugo Tyson  <hmt@cygnus.co.uk>
1140
1141         * src/hal_misc.c (hal_default_isr): If we are including
1142         CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT, then poll a special platform
1143         HAL routine to see whether there is a ^C lurking in the serial
1144         device.  This has to be done from the default ISR so that others
1145         (which must know about ^Cs is they are still to be handled) can
1146         install over the top.  Not all platforms support this, so enabling
1147         CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT will not necessarily work.
1148
1149 1999-07-21  Hugo Tyson  <hmt@cygnus.co.uk>
1150
1151         * src/vectors.S (vectors): Re-organize startup a little to support
1152         ROMming of the image and stubrom creation.  Withdraw publication
1153         of cyg_startup_stack; it's necessary to do this a different way,
1154         using...
1155
1156         * include/hal_intr.h (hal_dram_size): reserve location 0x40 for
1157         communicating DRAM size between boot ROMs and app during startup,
1158         and remembering it within ROM startup.  Platforms that don't need
1159         this should zero the location.
1160
1161 1999-07-19  Hugo Tyson  <hmt@cygnus.co.uk>
1162
1163         * src/vectors.S (cyg_startup_stack): Publish this object for
1164         passing some DRAM size info around during startup.
1165         Remove the unused [well, ignored] array hal_vsr_table - the VSR
1166         table is defined to be at 0x20 by the code here in vectors.S
1167
1168         * include/hal_intr.h (HAL_VSR_SET): define hal_vsr_table to be at
1169         0x20 where the hardware vectors actually read VSR entries from.
1170         Renumber VSR symbols to match.  Do not use the external
1171         "hal_vsr_table" symbol.
1172
1173 1999-07-15  Hugo Tyson  <hmt@cygnus.co.uk>
1174
1175         * src/vectors.S (reset_vector): Invalidate and disable caches for
1176         EBSA-285 startup is now in PLATFORM_SETUP1 as intended.  Cache
1177         enabling is in hal_hardware_init; so, same results as before, but
1178         tidier.
1179
1180 1999-07-14  Hugo Tyson  <hmt@cygnus.co.uk>
1181
1182         * src/vectors.S: Add some startup debug via a LED macro - which
1183         has different content depending on platform, of course.
1184         For the EBSA-285, flush caches when writing vectors and the like,
1185         since RAM startup occurs with caches enabled, otherwise you get
1186         mysterious traps as CygMon is entered regardless at the first
1187         clock tick, for example.  This may be taken out again as ROM
1188         startup is dealt with via PLATFORM_SETUP1, but for now...
1189
1190 1999-06-22  Gary Thomas  <gthomas@cygnus.co.uk>
1191
1192         * src/vectors.S: Fix names of 'report' functions (debug dumps
1193         for various exceptions).  These needed changes for two reasons:
1194         name pollution and naming clashes after new ABI adopted.
1195         Improve support for FIQ interrupts.
1196
1197 1999-06-16  Gary Thomas  <gthomas@cygnus.co.uk>
1198
1199         * src/vectors.S: Add ".pool" directives which cause assembler 
1200         to dump it's literal pool early.  This is necessary because
1201         of the limited addressing available in THUMB mode.
1202
1203 1999-06-15  Gary Thomas  <gthomas@cygnus.co.uk>
1204
1205         * src/vectors.S (vectors): Some boards have an MMU, but the
1206         reset vector needs to have an unmapped address!
1207
1208 1999-06-09  Gary Thomas  <gthomas@cygnus.co.uk>
1209
1210         * src/vectors.S (reset_vector): Streamline ROM/STUBS code.
1211
1212 1999-05-25  Gary Thomas  <gthomas@cygnus.co.uk>
1213
1214         * src/vectors.S (_eCos_id): Add version string.  Useful for
1215         tracking when a system was configured (especially ROMs).
1216         Add initial pure-thumb support - only for kernel+application
1217         in thumb mode.
1218         
1219         * include/hal_intr.h: Update interrupt support macros for
1220         thumb mode system.
1221
1222         * src/context.S: Add initial pure-thumb mode support.
1223
1224 1999-05-21  Hugo Tyson  <hmt@cygnus.co.uk>
1225
1226         * include/hal_intr.h: Define HAL_INTERRUPT_STACK_BASE and
1227         HAL_INTERRUPT_STACK_TOP so that stack usage macros in
1228         kernel/.../stackmon.hxx can work.
1229
1230         * src/vectors.S (cyg_interrupt_stack_base): Define this symbol for
1231         the interrupt stack and its friend for the stack top so that we
1232         can publish them with nice names.
1233
1234 1999-05-19  Gary Thomas  <gthomas@cygnus.co.uk>
1235
1236         * src/arm.ld: Change symbols to match new no-underscore ABI.
1237
1238 1999-05-19  Gary Thomas  <gthomas@cygnus.co.uk>
1239
1240         * include/hal_intr.h: Define interrupt support functions for 
1241         Thumb mode.
1242
1243 1999-05-16  Gary Thomas  <gthomas@cygnus.co.uk>
1244
1245         * include/hal_intr.h (HAL_INTERRUPT_STACK_CALL_PENDING_DSRS): 
1246         Add macro for new DSR handling mechanism (was override of a
1247         "weak" symbol in kernel).       
1248
1249 1999-05-13  Hugo Tyson  <hmt@cygnus.co.uk>
1250
1251         * include/hal_arch.h (HAL_THREAD_INIT_CONTEXT): Align stack
1252         (rather conservatively) before use.
1253
1254 1999-05-11  Gary Thomas  <gthomas@cygnus.co.uk>
1255
1256         * src/vectors.S: No separate interrupt stack if no kernel.
1257
1258 1999-05-10  Gary Thomas  <gthomas@cygnus.co.uk>
1259
1260         * src/vectors.S: 
1261         * src/hal_mk_defs.c: 
1262         * include/hal_arch.h: Fix up machine states, initialize stacks.
1263
1264 1999-04-28  Bart Veer  <bartv@cygnus.co.uk>
1265
1266         * src/PKGconf.mak:
1267         Remove the -n argument to tail, it does not appear to be required
1268         on any supported host and causes problems with some
1269         implementations of tail.
1270
1271 1999-04-25  Gary Thomas  <gthomas@cygnus.co.uk>
1272
1273         * src/vectors.S: Fix use of 'RAISE_INTR' which cannot be used in 'mov'
1274         instruction (doesn't fit). PR 19906
1275
1276 1999-04-23  John Dallaway  <jld@cygnus.co.uk>
1277
1278         * src/PKGconf.mak: Avoid backslash in grep search pattern to
1279         workaround PR 19923.
1280
1281 1999-04-15  Jonathan Larmour  <jlarmour@cygnus.co.uk>
1282
1283         * src/arm.ld: Define __bss_end at the end of the BSS
1284         * src/vectors.S (start): Use __bss_end rather than _end when clearing
1285         BSS
1286         These fix PR 19750
1287
1288 1999-04-14  Jonathan Larmour  <jlarmour@cygnus.co.uk>
1289
1290         * src/PKGconf.mak (EXTRAS): Don't generate extras.o here any more
1291         But do define EXTRAS every time for the linker script
1292         
1293 1999-04-13  Gary Thomas  <gthomas@cygnus.co.uk>
1294
1295         * src/vectors.S: Use new include <cyg/hal/hal_platform_setup.h>
1296         which includes macros and definitions for platform specifics.
1297         This keeps 'ifdef's out of "vectors.S" and makes cleaner code.
1298         Major restructuring of interrupt handling to support full use
1299         of a separate interrupt stack.
1300
1301 1999-04-09  Jesper Skov  <jskov@cygnus.co.uk>
1302
1303         * src/arm_stub.c: 
1304         Moved get_register and put_register to hal_stub.c.
1305
1306 1999-04-08  John Dallaway  <jld@cygnus.co.uk>
1307
1308         * src/*.ld: Revised SECTION_* macro arguments to
1309         avoid padded output sections (PR 19787)
1310
1311 1999-03-22  Jonathan Larmour  <jlarmour@cygnus.co.uk>
1312
1313         * include/arm_stub.h: Update copyright
1314
1315         * src/arm_stub.c: Update copyright
1316
1317 1999-03-22  Hugo Tyson  <hmt@cygnus.co.uk>
1318
1319         * include/hal_arch.h: 
1320         Use CYGNUM_HAL_STACK_SIZE_TYPICAL for the stack size instead of
1321         CYGNUM_HAL_MINIMUM_STACK_SIZE.
1322
1323 1999-03-16  Gary Thomas  <gthomas@cygnus.co.uk>
1324
1325         * src/hal_misc.c: Change how breakpoint is described (just a long).
1326
1327         * src/vectors.S: Pass registers to ISR for GDB break support.
1328
1329 1999-03-17  John Dallaway  <jld@cygnus.co.uk>
1330
1331         * src/PKGconf.mak: Remove dependence on echo '-e' switch.
1332
1333 1999-03-12  Gary Thomas  <gthomas@cygnus.co.uk>
1334
1335         * include/hal_arch.h: Add definition of 'CYGNUM_HAL_MINIMUM_STACK_SIZE'
1336
1337 1999-03-11  Gary Thomas  <gthomas@cygnus.co.uk>
1338
1339         * include/pkgconf/hal_arm.h: Fix comment (name was incorrect)
1340
1341 1999-03-10  Jesper Skov  <jskov@cygnus.co.uk>
1342
1343         * include/hal_intr.h (HAL_INTERRUPT_ATTACH): Added.
1344
1345 1999-03-09  Gary Thomas  <gthomas@cygnus.co.uk>
1346
1347         * src/hal_misc.c: Move declaration of __CTOR_LIST__ to avoid warning.
1348
1349 1999-03-09  Gary Thomas  <gthomas@cygnus.co.uk>
1350
1351         * src/vectors.S: Remove warning on stack size redefine.
1352
1353 1999-03-08  Gary Thomas  <gthomas@cygnus.co.uk>
1354
1355         * src/vectors.S: Override default stack size on AEB.
1356
1357 1999-03-05  Gary Thomas  <gthomas@cygnus.co.uk>
1358
1359         * src/vectors.S: 
1360         * include/pkgconf/hal_arm.h: DOn't print exception info if GDB stubs enabled.
1361
1362         * src/PKGconf.mak: 
1363         * src/arm.ld: Clean up I/O package changes.     
1364
1365 1999-03-04  Jonathan Larmour  <jlarmour@cygnus.co.uk>
1366
1367         * src/arm.ld: 
1368         Unconditionalize use of libextras.a and add libextras.a to GROUP()
1369
1370 1999-03-04  Gary Thomas  <gthomas@cygnus.co.uk>
1371
1372         These changes merged from 'ecos-new_devs-19990216-branch'
1373
1374         (1999-02-18  Gary Thomas  <gthomas@cygnus.co.uk>)
1375
1376         * src/PKGconf.mak (DRIVERS): 
1377         * src/arm.ld: Support special linking requirements for I/O drivers.
1378
1379         (1999-02-16  Gary Thomas  <gthomas@cygnus.co.uk>)
1380
1381         * src/arm.ld: Changes for new I/O [device drivers] subsystem.
1382
1383 1999-02-26  Gary Thomas  <gthomas@cygnus.co.uk>
1384
1385         * src/vectors.S: Add separate interrupt stack handling.
1386
1387         Fix memory region layouts for AEB allowing better error detection.
1388
1389 1999-02-25  Nick Garnett  <nickg@cygnus.co.uk>
1390
1391         * src/vectors.S:
1392         Changed label used to access scheduler lock to one that is not
1393         mangled by C++. This is intended to make support for interrupt
1394         handling in non-kernel configurations easier.
1395
1396 1999-02-20  Jonathan Larmour  <jlarmour@cygnus.co.uk>
1397
1398         * include/hal_arch.h: 
1399         Rename deliver_exception -> cyg_hal_deliver_exception
1400         QA improvements
1401
1402         * include/hal_intr.h:
1403         Reorganise vector/interrupt/exception names according to purpose
1404         QA improvements
1405
1406         * arch/current/src/hal_misc.c:
1407         Rename deliver_exception -> cyg_hal_deliver_exception
1408         Rename vectors due to hal_intr.h changes
1409         QA improvements
1410
1411         * arch/current/src/hal_mk_defs.c:
1412         * arch/current/src/vectors.S
1413         Rename vectors due to hal_intr.h changes
1414         QA improvements 
1415
1416 1999-02-16  Jesper Skov  <jskov@cygnus.co.uk>
1417
1418         * src/vectors.S: Changed set_debug_traps to initialize_stub.
1419
1420         * src/arm_stub.c:
1421         * include/arm_stub.h: 
1422         Cleaned up to only include arch specific stub code.
1423
1424 1999-02-16  Gary Thomas  <gthomas@cygnus.co.uk>
1425
1426         * src/arm.ld: Changes for new I/O [device drivers] subsystem.
1427
1428 1999-02-10  Gary Thomas  <gthomas@cygnus.co.uk>
1429
1430         * src/hal_misc.c (hal_default_isr): Add diagnostic message for PR 19145-19147
1431
1432 1999-02-05  John Dallaway  <jld@cygnus.co.uk>
1433
1434         * src/arm.ld: Add LMA_EQ_VMA macro definition.
1435
1436 1999-02-04  Gary Thomas  <gthomas@cygnus.co.uk>
1437
1438         * src/vectors.S: Use symbolic 'raise interrupt' instead of hard coded value.
1439         Better GDB stubs stack handling.
1440         
1441         * src/hal_mk_defs.c: Add symbolic symbol for 'raise interrupt' instrumentation.
1442
1443 1999-02-03  Gary Thomas  <gthomas@cygnus.co.uk>
1444
1445         * src/hal_misc.c (cyg_hal_invoke_constructors): 
1446         * src/vectors.S (start): Use C coded 'cyg_hal_invoke_constructors()'
1447
1448         * src/hal_misc.c (exception_handler): Remove debug message ...oops!
1449
1450         * include/hal_arch.h (HAL_SET_GDB_REGISTERS): Restore PSR.
1451
1452         * src/vectors.S: Use separate stack for GDB stubs exception handlers.
1453
1454 1999-02-01  Gary Thomas  <gthomas@cygnus.co.uk>
1455
1456         * src/hal_misc.c: Need <pkgconf/hal_arm.h> for 'dump exception' option.
1457
1458         * src/vectors.S: Fix ROM startup machine initialization.
1459
1460 1999-01-25  Gary Thomas  <gthomas@cygnus.co.uk>
1461
1462         * src/arm.ld: Add Copyright
1463
1464 1999-01-25  Jesper Skov  <jskov@cygnus.co.uk>
1465
1466         * src/arm_stub.c (__build_t_packet): Rewrote fix me text. Added PR
1467         number, but otherwise left the note.
1468
1469 1999-01-21  Gary Thomas  <gthomas@cygnus.co.uk>
1470
1471         * src/arm_stub.c (ins_will_execute): Computation of LS/HI
1472         was incorrect.
1473
1474 1999-01-20  Gary Thomas  <gthomas@cygnus.co.uk>
1475
1476         * src/arm.ld: Change "etext" to "__etext".
1477
1478 1999-01-19  Gary Thomas  <gthomas@cygnus.co.uk>
1479
1480         * src/vectors.S: Rework exception handlers.
1481         (start): Fix for new startup type (STUBS)
1482
1483         * src/hal_misc.c (exception_handler): Allow GDB stubs to take over all
1484         exceptions while the stubs are executing.  Also move some common stubs
1485         initialization into this file.
1486
1487 1999-01-18  Gary Thomas  <gthomas@cygnus.co.uk>
1488
1489         * include/pkgconf/hal_arm.h: Add configurations for GDB stubs/normal ROM.
1490
1491         * src/arm.ld: Include HAL/ARM specifics.
1492
1493         * include/pkgconf/hal_arm.h: 
1494         * src/hal_misc.c: 
1495         * src/vectors.S: Add configure option 'CYGHWR_HAL_ARM_DUMP_EXCEPTIONS'
1496         which is used to chose whether to print diagnostic exception dumps
1497         or not.
1498
1499 1999-01-15  Gary Thomas  <gthomas@cygnus.co.uk>
1500
1501         * src/hal_misc.c: Clean up warnings
1502
1503         * include/hal_arch.h: 
1504         * include/hal_intr.h: Add function prototypes to avoid warnings.
1505
1506         * src/arm.ld: Add definition of _stext.  Take out
1507         GLOBAL_OFFSET_TABLE.
1508
1509 1999-01-14  Gary Thomas  <gthomas@cygnus.co.uk>
1510
1511         * src/PKGconf.mak: Set up for MLT based linker scripts.
1512
1513         * src/arm.ld: New file
1514
1515         * include/hal_intr.h (HAL_QUERY_INTERRUPTS): Test was backwards
1516
1517 1999-01-13  Gary Thomas  <gthomas@cygnus.co.uk>
1518
1519         * include/hal_intr.h (HAL_TRANSLATE_VECTOR): Add new macro
1520
1521 1999-01-12  Gary Thomas  <gthomas@cygnus.co.uk>
1522
1523         * include/basetype.h (CYG_DOUBLE_BYTEORDER): Define ordering
1524         of words within doubles.
1525
1526 1999-01-05  Gary Thomas  <gthomas@cygnus.co.uk>
1527
1528         * src/vectors.S: Force AEB-1 memory configuration.
1529         
1530 1998-12-16  Gary Thomas  <gthomas@cygnus.co.uk>
1531
1532         * src/arm_stub.c (ins_will_execute): Fix warning.
1533
1534         * include/hal_intr.h: Add <hal/hal_platform_ints.h>
1535         for platform specifics.
1536
1537 1998-12-15  Gary Thomas  <gthomas@cygnus.co.uk>
1538
1539         * src/hal_mk_defs.c: 
1540         * include/hal_io.h: 
1541         * src/vectors.S: Changes to support kernel-less configuration.
1542         (___gccmain): Add new dummy function.
1543
1544         * src/hal_misc.c: Merge in platform independent code from
1545         old "pid/.../hal_misc.c"
1546
1547 1998-12-15  Jesper Skov  <jskov@cygnus.co.uk>
1548
1549         * include/hal_arch.h: Changed HAL_JMP_BUF_SIZE to
1550         CYGARC_JMP_BUF_SIZE.
1551
1552 1998-12-14  Gary Thomas  <gthomas@cygnus.co.uk>
1553
1554         * src/hal_misc.c (exception_handler): Change config option
1555         to be consistent "CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS"
1556
1557         * include/hal_arch.h (HAL_THREAD_INIT_CONTEXT): Set initial
1558         PC for GDB thread info.
1559
1560         * src/arm_stub.c (__build_t_packet): Fix thread id's which
1561         must be send to GDB in big-endian.
1562
1563 1998-12-10  Jesper Skov  <jskov@cygnus.co.uk>
1564
1565         * include/hal_cache.h (HAL_DCACHE_UNLOCK_ALL,
1566         HAL_ICACHE_UNLOCK_ALL): Added.
1567
1568 1998-12-09  Gary Thomas  <gthomas@cygnus.co.uk>
1569
1570         * src/vectors.S (abort_prefetch): Clean up all exception
1571         handlers (some were just broken).
1572
1573         * src/hal_misc.c (exception_handler): Improved exception
1574         handling for GDB stubs while accessing memory.
1575
1576 1998-12-04  Gary Thomas  <gthomas@cygnus.co.uk>
1577
1578         * src/arm_stub.c (target_ins): Finish single step support.
1579
1580 1998-12-03  Gary Thomas  <gthomas@cygnus.co.uk>
1581
1582         * src/vectors.S (_name): Add undefined instruction handling
1583         (for breakpoint/single step support).  Plus some rework and
1584         general cleanup.
1585
1586         * src/arm_stub.c (single_step): 
1587         * include/hal_arch.h (HAL_BREAKPOINT): Make breakpoint use
1588         an illegal instruction rather than SWI.
1589
1590 1998-12-02  Gary Thomas  <gthomas@cygnus.co.uk>
1591
1592         * src/arm_stub.c (ins_will_execute): Take out debug messages
1593
1594         * include/pkgconf/hal_arm.h: New file
1595
1596         * include/arm_stub.h: Add PSR register definitions
1597
1598         * src/arm_stub.c (single_step): Support single stepping
1599
1600 1998-12-01  Gary Thomas  <gthomas@cygnus.co.uk>
1601
1602         * src/vectors.S (reset_vector): Rework exception handing to leave
1603         vectors in place unless GDB stubs are included (or started in
1604         user mode via Angel)
1605
1606 1998-11-26  Gary Thomas  <gthomas@cygnus.co.uk>
1607
1608         * src/vectors.S (_vectors): Rework to handle SWI exception
1609         Changes to make GDB stubs work.
1610
1611         * src/hal_misc.c (exception_handler): 
1612         Save registers in global "_hal_registers"
1613
1614         * src/PKGconf.mak (COMPILE): Add arm_stub.c
1615
1616         * include/hal_io.h: Need to include <pkgconf/kernel.h>
1617
1618         * include/hal_arch.h (HAL_THREAD_INIT_CONTEXT): 
1619         Clean up stack usage - no need for 56 byte padding (PPC holdover)
1620         (HAL_BREAKPOINT): 
1621         (HAL_GET_GDB_REGISTERS): 
1622         (HAL_SET_GDB_REGISTERS): Clean up for working stubs
1623
1624         * src/arm_stub.c: New file, GDB stubs support
1625
1626 1998-11-18  Gary Thomas  <gthomas@cygnus.co.uk>
1627
1628         * src/hal_mk_defs.c: Add define for 'HAL_SavedRegisters'
1629
1630         * include/hal_arch.h: cleanup comments
1631
1632         * include/basetype.h: cleanup comments
1633
1634         * src/vectors.S: Improved interrupt stack handling.
1635
1636         * include/hal_intr.h: Add support for interrupt latency
1637         measurement, controlled by CYGVAR_KERNEL_COUNTERS_CLOCK_LATENCY.
1638
1639 1998-10-16  Bart Veer  <bartv@cygnus.co.uk>
1640
1641         * src/vectors.S (__interrupt_stack):
1642         Made the interrupt stack size configurable.
1643
1644 //===========================================================================
1645 //####ECOSGPLCOPYRIGHTBEGIN####
1646 // -------------------------------------------
1647 // This file is part of eCos, the Embedded Configurable Operating System.
1648 // Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
1649 //
1650 // eCos is free software; you can redistribute it and/or modify it under
1651 // the terms of the GNU General Public License as published by the Free
1652 // Software Foundation; either version 2 or (at your option) any later version.
1653 //
1654 // eCos is distributed in the hope that it will be useful, but WITHOUT ANY
1655 // WARRANTY; without even the implied warranty of MERCHANTABILITY or
1656 // FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
1657 // for more details.
1658 //
1659 // You should have received a copy of the GNU General Public License along
1660 // with eCos; if not, write to the Free Software Foundation, Inc.,
1661 // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
1662 //
1663 // As a special exception, if other files instantiate templates or use macros
1664 // or inline functions from this file, or you compile this file and link it
1665 // with other works to produce a work based on this file, this file does not
1666 // by itself cause the resulting work to be covered by the GNU General Public
1667 // License. However the source code for this file must still be made available
1668 // in accordance with section (3) of the GNU General Public License.
1669 //
1670 // This exception does not invalidate any other reasons why a work based on
1671 // this file might be covered by the GNU General Public License.
1672 //
1673 // Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
1674 // at http://sources.redhat.com/ecos/ecos-license/
1675 // -------------------------------------------
1676 //####ECOSGPLCOPYRIGHTEND####
1677 //===========================================================================