1 2007-10-15 Sergei Gavrikov <w3sg@SoftHome.net>
3 * cdl/hal_arm.cdl: Use ACTUAL_CFLAGS whenever possible to avoid
4 warnings and complaints from newer compilers.
6 2007-09-11 Andrew Lunn <andrew.lunn@ascom.ch>
8 * src/hal_misc.c: Include <cyg/infra/diag.h> to prevent compiler
9 warning when CYGHWR_HAL_ARM_DUMP_EXCEPTIONS is enabled.
10 Reported by Sergei Gavrikov <w3sg@SoftHome.net.
12 2007-02-03 Sergei Gavrikov <sg@sgs.gomel.by>
14 * src/vectors.S: Added a possibility to fix ARM vector 0x14
15 (unused vector). Some platforms need itself in that.
17 2007-01-09 Sergei Gavrikov <sg@sgs.gomel.by>
19 * src/arm-stub.c: Added string.h header (`memcpy' declaration).
21 2006-09-06 Daniel Néri <daniel.neri@sigicom.se>
23 * include/basetype.h: (CYG_DOUBLE_BYTEORDER): Add proper
24 definition for VFP floating point format (uses "natural" byte
25 order) on little-endian ARM.
27 2006-02-06 Sergei Organov <osv@javad.com>
29 * src/vectors.S: disable FIQ in IRQ handler to fix race condition
30 of recursively entering IRQ handler through FIQ handler. Remove
31 unreferenced handle_IRQ_or_FIQ label.
33 2006-01-18 Jay Foster <jay@systech.com>
35 * src/context.S (hal_thread_switch_context): Close race condition
36 that could cause corruption of the sp or lr registers.
38 2005-04-21 Ian Campbell <icampbell@arcom.com>
40 * src/redboot_linux_exec.c: Added -t option which takes the
41 physical address to copy to. Very useful for booting non-Linux
44 2005-03-03 Andrew Lunn <andrew.lunn@ascom.ch>
46 * src/redboot_linux_exec.c (CYGARC_HAL_MMU_OFF_X): Fix compiler
47 warning about spaces after continuation character.
49 2004-11-23 Jani Monoses <jani@iv.ro>
51 * src/vectors.S: Allow DSRs in non-kernel configuration.
53 2004-10-07 Andrew Lunn <andrew.lunn@ascom.ch>
55 * src/arm_stub.c (target_ins): Added a cast to prevent a compiler
58 2004-09-02 Mark Salter <msalter@redhat.com>
60 * cdl/hal_arm.cdl (CYGHWR_REDBOOT_LINUX_EXEC_X_SWITCH): New
61 option used to enable "-x" option to exec command.
63 * src/redboot_linux_exec.c (do_exec): Add support for booting
64 kernels built for endianess oppposite of RedBoot.
66 2004-07-07 Gary Thomas <gary@mlbassoc.com>
68 * src/redboot_linux_exec.c (do_exec): Fix test for valid entry
69 (was being overwritten by command line parameter)
71 2004-05-27 Gary Thomas <gary@mlbassoc.com>
73 * src/redboot_linux_exec.c (do_exec): Be sensitive to value in
74 "entry_address" as this can indicate if the image to be executed
75 is valid (the "load" functions set it to "NO_MEMORY" when invalid)
77 2004-05-24 Ian Campbell <icampbell@arcom.com>
79 * src/hal_misc.c: __mem_fault_handler: Only do this if we have
80 CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS. This allows the HAL to be
81 compiled without stubs.
83 2004-04-22 Jani Monoses <jani@iv.ro>
86 Invoke tail with stricter syntax that works in latest coreutils.
88 2003-11-05 Roland Caßebohm <roland.cassebohm@visionsystems.de>
90 * include/hal_io.h: If defined HAL_IO_MACROS_NO_ADDRESS_MUNGING
91 use macros which don't mung the addresses even if the platform
92 is big-endian. Platforms which don't need address munging can
93 just define HAL_IO_MACROS_NO_ADDRESS_MUNGING in plf_io.h .
95 2003-10-23 Thomas Koeller <thomas.koeller@baslerweb.com>
97 * src/vectors.S: Acknowlege spurious interrupts.
99 2003-10-13 Thomas Koeller <thomas.koeller@baslerweb.com>
101 * src/vectors.S: Fixed broken thumb mode exception handling.
103 2003-06-30 Mark Salter <msalter@redhat.com>
105 * src/vectors.S: Fix CYGOPT_HAL_ARM_PRESERVE_SVC_SPSR handling.
107 2003-06-24 Jonathan Larmour <jifl@eCosCentric.com>
109 * include/hal_arch.h: Include plf_arch.h or var_arch.h if platform
110 or variant requires it to do overrides.
111 (HAL_IDLE_THREAD_ACTION): Default to empty statement but allow to be
114 * src/hal_misc.c: Remove hal_idle_thread_action. It's no use.
116 2003-05-06 Pierre Habraken <Pierre.Habraken@imag.fr>
118 * src/arm_stub.c (target_ins, target_thumb_ins): Added code to
119 enable stepping into swi instructions.
121 * cdl/hal_arm.cdl: Added option CYGOPT_HAL_ARM_PRESERVE_SVC_SPSR for
122 securing exception and breakpoint processing triggered during
123 execution of application specific SWI handlers. Added option
124 CYGOPT_HAL_ARM_WITH_USER_MODE for supporting programs running in
126 * src/vectors.S (return_from_exception): Added code to exception
127 handling for preserving svc spsr before returning to svc mode.
128 Added code to allow exceptions in user mode.
129 (call_exception_handler, handle_IRQ_or_FIQ): Added code to allow
130 exceptions in user mode.
131 * include/hal_arch.h: Defined CPSR_USER_MODE.
132 * src/hal_mk_defs.c.: Added definition for CPSR_USER_MODE.
134 2003-04-30 Jonathan Larmour <jifl@eCosCentric.com>
136 * src/vectors.S (handle_IRQ_or_FIQ): Tweak below to be conditional on
139 2003-04-26 Daniel Néri <daniel.neri@sigicom.se>
141 * vectors.S (handle_IRQ_or_FIQ):
142 Use thumb-aware call to hal_spurious_IRQ.
144 2003-04-13 Bart Veer <bartv@ecoscentric.com>
146 * src/vectors.S (start): fix build problem with -mthumb
148 2003-03-11 Mark Salter <msalter@redhat.com>
150 * src/redboot_linux_exec.c (do_exec): Call eth_drv_stop as necessary.
152 2003-02-13 Mark Salter <msalter@redhat.com>
154 * src/redboot_linux_exec.c (do_exec): Add missing semicolon.
156 2003-02-13 Gary Thomas <gary@mlbassoc.com>
158 * src/redboot_linux_exec.c (CYGHWR_REDBOOT_LINUX_ATAG_MEM):
159 Add CYG_MACRO_START/END markers.
161 2003-02-12 Gary Thomas <gary@mlbassoc.com> inspired by
162 2003-02-12 Robin Farine <robin.farine@acn-group.ch>
164 * src/redboot_linux_exec.c: Allow platform to override memory layout.
165 Also, give error if no "-b" option and base/load address unknown.
166 2003-02-06 Gary Thomas <gary@mlbassoc.com>
168 * src/redboot_linux_exec.c: Make sure RAM description is sane.
170 2003-01-31 Mark Salter <msalter@redhat.com>
172 * src/hal_syscall.c (hal_syscall_handler): Let generic syscall code
175 2003-01-17 Patrick Doyle <wpd@delcomsys.com>
177 * src/redboot_linux_exec.c (do_exec): Round the length up to a
178 multiple of 4 so that the copy loop (which decrements the count by
179 4 each time through) runs a finite length of time.
181 Fixed the calculation of params->u.mem.size so that it doesn't
182 double the memory size if it is already a power of two.
184 2003-01-06 Patrick Doyle <wpd@delcomsys.com>
186 * src/redboot_linux_exec.c (do_exec): Added support for, and
187 changed to use, ATAG_INITRD2 instead of ATAG_INITRD. ATAG_INITRD
188 specifies the virtual address of the ramdisk while ATAG_INITRD2
189 specifies the physical address.
191 2002-12-11 Mark Salter <msalter@redhat.com>
193 * include/hal_io.h: Allow variant or platform HALs to override
196 2002-11-12 Mark Salter <msalter@redhat.com>
198 * src/arm_stub.c (target_ins): Account for PC prefetch when PC is
199 source register in data processing insns.
201 2002-08-29 Mark Salter <msalter@redhat.com>
203 * src/vectors.S: Avoid entering thumb mode in exception handlers.
205 2002-08-27 Mark Salter <msalter@redhat.com>
207 * src/arm.ld: Undefine arm to avoid problem with .note.arm.ident.
209 2002-08-22 Mark Salter <msalter@redhat.com>
211 * src/arm.ld: Add .note.arm.ident section used by tools to identify
212 architecture variants.
214 2002-08-21 Mark Salter <msalter@redhat.com>
216 * src/arm_stub.c: Add support for large registers (e.g. FPU).
217 * include/arm_stub.h: Add infrastructure for support of coprocessors.
218 * include/hal_arch.h: Ditto.
220 2002-08-02 Andrew Lunn <Andrew.Lunn@ascom.ch>
222 * cdl/hal_arm.cdl: Redboot exec command can now be disabled by CDL
224 2002-07-15 Mark Salter <msalter@redhat.com>
226 * include/arm_stub.h: Comment out NUMREGBYTES.
228 2002-05-28 Mark Salter <msalter@redhat.com>
230 * cdl/hal_arm.cdl: Tweaked description for
231 CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS.
232 Add CYGHWR_REDBOOT_ARM_LINUX_TAGS_ADDRESS.
234 * src/redboot_linux_exec.c (do_exec): Rework transition to MMU
235 off and jump to kernel so that it works for non 1-1 mapped
238 2002-05-20 Gary Thomas <gthomas@redhat.com>
240 * include/hal_io.h: Fix ...STRING macros - not using index.
241 Pointed out by Thomas Koeller <thomas@koeller.dyndns.org>.
243 2002-05-09 Nick Garnett <nickg@redhat.com>
245 * src/vectors.S (handle_IRQ_or_FIQ): Save SVC mode LR in interrupt
246 handling as well as exceptions.
248 * src/context.S (hal_thread_switch_context): Use correct size
249 for skipping new HAL_SavedRegisters fields.
251 2002-05-08 Jonathan Larmour <jlarmour@redhat.com>
253 * cdl/hal_arm.cdl: Remove -malignment-traps here - add it only from
254 packages when needed.
256 2002-05-08 Nick Garnett <nickg@redhat.com>
258 * src/vectors.S: Added code to save and restore value of SVC mode
259 LR during exception processing. If the exception comes from a
260 non-SVC mode then handling it originally corrupted the SVC mode
261 LR. If the program subsequent returned to SVC mode it was likely
262 to have problems. The registers for modes other than SVC and the
263 exception mode are not touched, so we do not have to save/restore
266 * src/hal_mk_defs.c: Added definitions for armreg_r10 and
269 * include/hal_arch.h: Added svc_lr field to HAL_SavedRegisters to
270 save SVC mode link register during exception handling.
272 2002-04-30 Jesper Skov <jskov@redhat.com>
274 * cdl/hal_arm.cdl: Forcibly add -malignment-traps to the compiler
275 options to work around problem with recent compiler. This can be
276 removed when the tools are respun.
278 2002-04-29 Jonathan Larmour <jlarmour@redhat.com>
281 Don't use .file as it can confuse debugging since the .file
282 doesn't contain the path and therefore the debugger will never
283 know where it lives! This conflicts with using -Wa,--gstabs.
285 2002-04-25 Gary Thomas <gthomas@redhat.com>
287 * src/vectors.S: Safer clearing of BSS.
289 2002-04-15 Jonathan Larmour <jlarmour@redhat.com>
291 * src/hal_syscall.c (hal_syscall_handler): Add extra sig argument to
294 2002-04-15 Mark Salter <msalter@redhat.com>
296 * src/vectors.S: Rewrite exception handling to allow exceptions
297 in any privileged mode.
298 * src/hal_mk_defs.c (main): Add some regs.
299 * include/hal_arch.h (HAL_SavedRegisters): Slight rearrangement.
300 * src/context.S (hal_thread_switch_context): Use new context layout.
301 (hal_thread_load_context): Ditto.
303 2002-04-11 Jesper Skov <jskov@redhat.com>
305 * src/arm.ld: Fixed .sbss rule.
307 2002-04-10 Jonathan Larmour <jlarmour@redhat.com>
309 * src/arm.ld: Define .gnu.linkonce sections properly.
310 Remove sbss from data section.
312 2002-03-27 Gary Thomas <gthomas@redhat.com>
314 * src/vectors.S: Use interrupt stack during system initialzation
315 if configured since this stack will be much larger than the default
316 idle thread stack. Some configurations (think networking) may use
317 lots of stack space during system startup and the assumption that
318 the idle thread stack does not need much space fails miserably.
320 2002-02-19 Mark Salter <msalter@redhat.com>
322 * src/arm_stub.c (target_thumb_ins): Check architecture version
323 to decide how to handle pop insn.
324 (v5T_semantics): New function. Returns true for v5 and later.
326 2002-02-08 Jesper Skov <jskov@redhat.com>
328 * src/arm_stub.c (target_thumb_ins): The result of a POP
329 instruction changing the PC must be the address of a THUMB
332 2002-01-29 Jesper Skov <jskov@redhat.com>
334 * src/redboot_linux_exec.c: Include hal_io.h instead of CRUFT_H.
335 (do_exec): Add nops after loop copying trampoline code. Removed
336 one argument to the assembly: code only works if virt==phys
337 mapping anyway. This should be rewritten to be safe for all
340 2002-01-28 Jesper Skov <jskov@redhat.com>
342 * include/hal_io.h: Include var_io.h if present, otherwise include
343 plf_io.h. This makes the ARM HAL match the other HALs better in
344 this regard, allowing platform IO definitions to override variant
345 IO definitions while allowing sharing code between platforms of
348 2002-01-25 Jesper Skov <jskov@redhat.com>
350 * cdl/hal_arm.cdl: Added RedBoot options.
351 * src/redboot_linux_exec.c: Added generic version of the RedBoot
352 exec command to be shared by all ARM platforms. Still needs some
353 cleaning up after CYGARC_ memory macros find their proper home.
355 2002-01-08 Hugo Tyson <hmt@redhat.com>
357 * cdl/hal_arm.cdl (CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT): New
358 option, implements CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT so
359 RedBoot knows we can do this. Only active if indeed we can.
361 * include/hal_arch.h (HAL_GET_PROFILE_INFO): New macro, to extract
362 the interrupted PC and SP from a struct HAL_SavedRegisters. Used
363 for histogram-style profiling.
365 2001-11-02 Hugo Tyson <hmt@redhat.com>
367 * include/arm_stub.h (CYG_HAL_GDB_LEAVE_CRITICAL_IO_REGION): Nasty
368 bodge to fix a tools issue where an "unused" label is migrated to
369 where some real code is, ie. the wrong place in this case.
370 Problem applies to arm9e-elf tools and other arm variants also.
372 2001-10-29 Hugo Tyson <hmt@redhat.com>
374 * src/arm.ld (SECTION_rom_vectors): Define symbols used for ROMRAM
375 startup; for some reason these were not in the trunk. They are:
376 __rom_vectors_vma and __rom_vectors_lma
378 2001-10-24 Gary Thomas <gthomas@redhat.com>
380 * src/hal_misc.c (hal_msbindex): Fix calculation.
382 2001-10-23 Hugo Tyson <hmt@redhat.com>
384 * include/hal_mmu.h (MMU_Control_Z,F,RR): Some extra defines for
385 newer ARM architectures.
387 2001-10-11 Fabrice Gautier <Fabrice_Gautier@sdesigns.com>
389 * include/hal_io.h: Add _STRING variants of I/O macros to allow
390 writing of consecutive items to the same registers.
392 2001-10-02 Jonathan Larmour <jlarmour@redhat.com>
394 * include/hal_arch.h: Remove CYG_HAL_TABLE_BEGIN and CYG_HAL_TABLE_END
395 as the common versions are acceptable.
397 2001-10-01 Jonathan Larmour <jlarmour@redhat.com>
399 * src/arm.ld: Make separate section for GOT and .eh_frame.
400 Make macro section for all reloc sections.
401 Input extras.o unconditionally.
402 * cdl/hal_arm.cdl: Don't bother with -DEXTRAS=1 - unconditional now.
404 2001-08-24 Mark Salter <msalter@redhat.com>
406 * src/arm_stub.c (target_thumb_ins): Add support for pop insn.
408 2001-08-21 Hugo Tyson <hmt@redhat.com>
410 * include/hal_intr.h: Only define HAL_CLOCK_LATENCY() if it's not
411 defined already (if it's needed at all). This is for platforms
412 which need a separate routine, such as sa11x0.
414 2001-07-19 Gary Thomas <gthomas@redhat.com>
416 * src/vectors.S: Support ROMRAM startup mode. Note: most of
417 the support for this mode will be in the platform setup code.
419 2001-07-18 Gary Thomas <gthomas@redhat.com>
421 * src/hal_mk_defs.c (main): FIQ no longer listed as an exception.
423 2001-07-17 Jonathan Larmour <jlarmour@redhat.com>
425 * include/hal_intr.h: Define range of exceptions more accurately.
427 2001-07-16 Gary Thomas <gthomas@redhat.com>
429 * src/hal_misc.c (exception_handler): Allow memory faults to be
430 caught, even when GDB stubs are not included.
432 2001-06-22 Gary Thomas <gthomas@redhat.com>
434 * include/arm_stub.h (NUMREGBYTES): Define - this tells GDB how
435 large it's communications buffers need to be.
437 2001-06-05 Gary Thomas <gthomas@redhat.com>
438 2001-06-05 Thomas Fähnle <thomas.faehnle@tst-ag.de>
440 * src/vectors.S (spurious_IRQ): Better handling of spurious ints.
441 Pass register frame to handler.
443 2001-05-23 Gary Thomas <gthomas@redhat.com>
445 * src/vectors.S: Allow platforms to define a 'preamble' which gets
446 included _before_ the vectors. This is often required for modules
447 which are run from ROM/Flash.
449 2001-04-30 Gary Thomas <gthomas@redhat.com>
451 * src/vectors.S (__exception_handlers): Platforms must explicitly
452 define CYGSEM_HAL_ROM_RESET_USES_JUMP if required.
454 2001-04-27 Hugo Tyson <hmt@redhat.com>
456 * src/vectors.S: Platforms without CYGHWR_HAL_ARM_HAS_MMU defined
457 require that the reset jump be straight up to ROM. So you can't
458 just use a local branch. This is needed to make RedBoot in the
459 EBSA285 work, for example.
461 2001-04-19 Gary Thomas <gthomas@redhat.com>
463 * cdl/hal_arm.cdl: Fix typo for ARM9 systems.
465 2001-04-18 Gary Thomas <gthomas@redhat.com>
467 * src/vectors.S: Add new flag 'CYG_HAL_ROM_RESET_USES_JUMP' to control
468 how RESET is handled. This is normally set for ROM applications, but
469 can be overridden by platform code for situations when it is unsuitable
470 to have a branch as the RESET instruction.
472 2001-04-16 Gary Thomas <gthomas@redhat.com>
474 * cdl/hal_arm.cdl: Add new interfaces to describe CPU family and
477 2001-04-07 Mark Salter <msalter@redhat.com>
479 * src/arm_stub.c: Add support for v5T BLX insn.
481 2001-03-30 Mark Salter <msalter@redhat.com>
483 * src/vectors.S (__exception_handlers): Don't use relative branch
484 for reset on iq80310.
486 2001-03-28 Hugo Tyson <hmt@redhat.com>
488 * src/vectors.S (__GDB_stack_base): Increase stubs stack size to
489 "enough". We tend to have either RedBoot (with no interrupt
490 stack) or an app (with no stubs stack) these days, so I used
491 CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE. It defaults to 4k in
492 RedBoot which is enough compared to the previous hard-wired 1k.
493 The overflow occurred in RedBoot, with i82559 ether driver, during
494 GDB connection - but manifested as "network stack out of buffers"
495 because of a recursion in trying to report a trap.
497 2001-02-24 Gary Thomas <gthomas@redhat.com>
499 * include/hal_mmu.h (MMU_Control_X): Add - used by Win/CE.
501 * src/vectors.S (__exception_handlers): Change RESET vector
502 to use jump for ROM based applications [safer].
503 (warm_reset): Only do 'swi' contortions when starting RAM
504 applications from Angel.
506 2001-02-22 Jesper Skov <jskov@redhat.com>
508 * src/arm.ld: Relocate .2ram sections to the .data section.
510 2001-02-20 Jesper Skov <jskov@redhat.com>
512 * cdl/hal_arm.cdl: Added CYGBLD_ARM_ENABLE_THUMB_INTERWORK.
514 2001-02-13 Gary Thomas <gthomas@redhat.com>
516 * src/vectors.S (handle_IRQ_or_FIQ): Change behaviour for
517 handling spurious interrupts.
519 * src/hal_misc.c (hal_spurious_IRQ): New function - called
520 when a spurious interrupt is detected. Defined as "weak"
521 so platforms can provide localized support.
524 * include/hal_intr.h (CYGNUM_HAL_INTERRUPT_NONE): Define.
526 2001-02-09 Hugo Tyson <hmt@redhat.com>
528 * src/vectors.S (UNMAPPED()): Handle CYGHWR_HAL_ROM_VADDR if so
529 defined; this is used when compiling for a different location from
530 the base of ROM. hal_platform_setup.h might define it. For
531 example, if flash is from 0x50000000 upwards (as on SA11x0), and
532 we are to execute at 0x50040000, then we want the reset vector to
533 point to 0x0004pqrs - the unmapped ROM address of the code -
534 rather than 0x0000pqrs, which is the offset into our flash block.
535 But usually it's not defined, so the behaviour is the obvious.
537 2001-02-08 Jesper Skov <jskov@redhat.com>
539 * include/arm_vv.h: Removed again, compiler does magic to thumb
541 * include/hal_arch.h: Same.
543 2001-02-07 Jesper Skov <jskov@redhat.com>
545 * include/arm_vv.h: Added virtual vector accessor macros that will
546 properly mangle function pointers in thumb mode.
547 * include/hal_arch.h: Include arm_vv.h
548 * src/vectors.S: ctrlc_init can be called for thumb now (but
549 requires ROM monitor to be built with -mthumb-interwork)
551 2001-02-02 Mark Salter <msalter@redhat.com>
553 * src/arm_stub.c (__arm_breakinst): New ARM breakpoint insn.
554 (__thumb_breakinst): New thumb breakpoint insn.
555 (__is_bsp_syscall): Check for actual SWI number and support
558 * include/hal_arch.h (HAL_BREAKINST_ADDR): New macro to provide
559 address of correct breakpoint insn of the given length.
561 2001-02-01 Jesper Skov <jskov@redhat.com>
563 * src/hal_misc.c: Don't use diag_printf directly (rely on tracing
566 2001-01-31 Mark Salter <msalter@redhat.com>
568 * src/vectors.S (FIQ): Fix broken fiq handling.
570 2001-01-31 Jesper Skov <jskov@redhat.com>
572 * cdl/hal_arm.cdl: Get rid of CYGDBG_HAL_DIAG_DISABLE_GDB_PROTOCOL
573 options. They are replaced by the
574 CYGSEM_HAL_DIAG_MANGLER option.
576 2001-01-24 Jonathan Larmour <jlarmour@redhat.com>
578 * src/vectors.S (init_flag): Add explicit alignment, just in case.
579 From Ilko Iliev <iliev@caretec.at>
581 2001-01-11 Hugo Tyson <hmt@redhat.com>
583 * src/vectors.S (hal_dram_size): Create hal_dram_type in memory at
584 0x44, right after hal_dram_size.
586 * include/hal_intr.h: Add an extern for the word at 0x44, named
587 hal_dram_type (as in hal_dram_size). This can be used for
588 platform HALs to know how to decode VIRT_TO_PHYS addresses and
591 2000-12-13 Hugo Tyson <hmt@redhat.com>
593 * include/hal_intr.h: Handle variant-, and possible overriding
594 platform-, specific interrupt files <cyg/hal/hal_platform_ints.h>.
595 This is to simplify the multiple SA11x0 targets which have no
598 2000-12-11 Gary Thomas <gthomas@redhat.com>
600 * src/vectors.S (warm_reset): 'hal_dram_size' is now only set in
601 platform code - no need to mess with (pure pollution) it here.
603 2000-11-19 Gary Thomas <gthomas@redhat.com>
605 * include/hal_io.h: Use CYGBLD_HAL_PLATFORM_IO_H for those platforms
606 which define it (relieves this file of messy includes).
608 2000-11-16 Jesper Skov <jskov@redhat.com>
610 * include/basetype.h: Define LABEL mangling macros.
612 * include/arch.inc: Added.
614 2000-11-06 Mark Salter <msalter@redhat.com>
616 * src/hal_syscall.c: New file. Arm interface to redboot's
617 handler for GNUPro based application library syscalls.
619 * src/arm_stub.c (__is_bsp_syscall): New function. Return
620 true if exception caused by bsp SWI.
622 * include/arm_stub.h: Add declaration for __is_bp_syscall.
624 * cdl/hal_arm.cdl: Add hal_syscall.c to compile list.
626 2000-11-04 Mark Salter <msalter@redhat.com>
628 * include/hal_io.h: Include cyg/hal/plf_io.h for IQ80310.
630 * src/arm_stub.c (__computeSignal): New interface for
631 HAL_STUB_IS_STOPPED_BY_HARDWARE
633 2000-10-27 Mark Salter <msalter@redhat.com>
635 * src/arm_stub.c: Removed uneccesary include.
637 * src/vectors.S (start): Fix use of registers which may have
638 been destroyed by an LED macro.
640 2000-10-26 Mark Salter <msalter@redhat.com>
642 * src/arm_stub.c (__computeSignal): Add hook for platforms to
643 check for hw watchpoint/breakpoint events.
644 (__install_breakpoints): Support HAL breakpoint list.
645 (__clear_breakpoints): Ditto.
647 * include/hal_arch.h (HAL_BREAKINST_TYPE): Define. Needed by
648 hw watchpoint/breakpoint support in stub.
650 2000-10-20 Jesper Skov <jskov@redhat.com>
652 * src/hal_misc.c: Update __mem_fault_handler declaration.
654 2000-09-05 Andrew Lunn <andrew.lunn@ascom.ch>
656 * include/basetype.h: Override the alignment macros for the ARM
657 architecture. The ARM compiler only alows a maximum of 4 bytes
658 of alignment where as the default is 8
660 2000-08-15 Hugo Tyson <hmt@cygnus.co.uk>
662 * src/arm.ld (SECTION_text): Change it back so that
663 infra/... range checking can see them. _stext and _etext as seen
664 from C are the eventual destination, so this is a step in the
665 right direction. You must hack if building redboot, for now.
667 2000-08-14 Hugo Tyson <hmt@cygnus.co.uk>
669 * src/arm.ld (SECTION_text): Change to stext and etext unadorned
670 with underlines so that RedBoot can see them.
672 2000-08-14 Gary Thomas <gthomas@redhat.com>
674 * include/hal_arch.h:
675 * src/arm.ld: Changes to support new [anonymous] tables.
677 2000-07-17 Jesper Skov <jskov@redhat.com>
679 * src/vectors.S (start): Hack to allow thumb tests to run in farm
680 until vector table Thumb/ARM API is fixed.
682 2000-07-07 Jesper Skov <jskov@redhat.com>
684 * src/arm_stub.c: Changes to support CygMon changes.
686 * src/hal_misc.c: Fix warnings.
688 2000-07-05 Jesper Skov <jskov@redhat.com>
692 All platforms now has VECTOR_SUPPORT (or provide alternative
693 implementations). Removed checks for the option.
695 2000-07-04 Jonathan Larmour <jlarmour@redhat.co.uk>
697 * cdl/hal_arm.cdl: Add CYGINT_HAL_ARM_MEM_REAL_REGION_TOP
700 * include/hal_intr.h: If the platform implements the
701 CYGINT_HAL_ARM_MEM_REAL_REGION_TOP interface, define a new
702 HAL_MEM_REAL_REGION_TOP macro appropriately
704 2000-06-28 Jesper Skov <jskov@redhat.com>
708 Fix compiler warnings.
710 2000-06-21 Nick Garnett <nickg@cygnus.co.uk>
712 * include/hal_arch.h:
713 Added local variants of CYG_HAL_TABLE_BEGIN() and
714 CYG_HAL_TABLE_END() since the ARM assembler implements some of
715 this code with a slightly different syntax to all the other
718 * include/basetype.h:
719 Removed definition of CYG_LABEL_NAME(). Now dealt with by default
720 definition in cyg_type.h.
724 Removed use of CYG_LABEL_NAME(), added underscore to _breakinst.
727 Added extra underscores to _stext and _etext.
728 Switched over to new table creation mechanism.
730 2000-06-19 Gary Thomas <gthomas@redhat.com>
732 * src/vectors.S: Changes for virtual vector support.
733 (hal_virtual_vector_table): Need to protect if virtual vector
736 * src/hal_mk_defs.c: Add symbols for virtual vector table.
738 * src/hal_misc.c (hal_arch_default_isr): New function. Used in
739 place of 'hal_default_isr' if virtual vector support is enabled.
741 * include/hal_intr.h: "Fixed" items now exported in 'vectors.S'
743 * src/vectors.S: Add notion of "fixed vectors" to all platforms.
745 2000-06-08 Jesper Skov <jskov@redhat.com>
747 * include/hal_arch.h (CYGARC_HAL_SAVE_GP, CYGARC_HAL_RESTORE_GP):
750 2000-06-04 Gary Thomas <gthomas@redhat.com>
752 * src/vectors.S: Add support for platform specific "vectors"
753 which may need to end up in predefined memory locations.
754 * src/arm.ld: Add separate 'fixed_vectors' section.
756 2000-06-01 Gary Thomas <gthomas@redhat.com>
758 * include/hal_mmu.h (MMU_Control_I): Added for StrongARM support.
760 2000-04-10 Hugo Tyson <hmt@cygnus.co.uk>
762 * include/arm_stub.h (CYG_HAL_GDB_ENTER_CRITICAL_IO_REGION): Only
763 use this complex version if we have
764 CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT ie. the place_break &c routines
765 existed anyway. This is an artificial limitation, somewhat, but
766 not so painful in reality.
768 2000-04-04 Jesper Skov <jskov@redhat.com>
772 Wrap the trivial thumb stuff in macros so the important bits stand
776 2000-03-24 Jesper Skov <jskov@redhat.com>
778 * src/arm_stub.c: Make place_break thumb-aware.
780 * include/arm_stub.h (CYG_HAL_GDB_ENTER_CRITICAL_IO_REGION):
781 Thumb-aware definition.
783 2000-03-01 Gary Thomas <gthomas@cygnus.co.uk>
786 Implement CYGINT_HAL_DIAG_DISABLE_GDB_PROTOCOL_SUPPORTED.
788 2000-02-29 Jonathan Larmour <jlarmour@redhat.co.uk>
790 * include/arm_stub.h: Make header C++ safe
792 2000-02-28 Gary Thomas <gthomas@cygnus.co.uk>
794 * src/hal_misc.c: Use standard 'diag_dump_buf()' instead of
797 2000-02-16 Jesper Skov <jskov@redhat.com>
799 * src/arm_stub.c: CYG_HAL_ARM -> CYGPKG_HAL_ARM
801 2000-02-10 Jesper Skov <jskov@redhat.com>
803 * src/vectors.S (reset_platform):
804 Removed handling of stubs startup type.
806 2000-02-09 Jesper Skov <jskov@redhat.com>
808 * cdl/hal_arm.cdl: Removed some fix mes.
810 2000-02-01 Jonathan Larmour <jlarmour@redhat.co.uk>
812 * cdl/hal_arm.cdl: Add missing CYGIMP_HAL_PROCESS_ALL_EXCEPTIONS
813 and CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT
814 options from include/pkgconf/hal_arm.h
816 2000-02-01 Jesper Skov <jskov@redhat.com>
818 * src/vectors.S: Treat ROM startup+ROM monitor as STUBS startup.
820 * src/arm.ld: Changed PID BE workaround to work with ROM startup.
821 Not just when building stubs.
823 2000-01-28 Gary Thomas <gthomas@cygnus.co.uk>
825 * src/arm.ld: Add new section 'netdevtab' used to support
826 network device initialization.
828 2000-01-26 Jonathan Larmour <jlarmour@redhat.co.uk>
830 * src/hal_misc.c (exception_handler): Replace CYGDAT_CYGMON_ENABLE
831 dependency with just CYGPKG_CYGMON
832 * src/arm_stub.c (__clear_breakpoints): Likewise
834 1999-12-16 Gary Thomas <gthomas@cygnus.co.uk>
836 * src/arm.ld: Include all SRAM (*.sram*) sections.
838 1999-12-09 John Dallaway <jld@cygnus.co.uk>
840 * cdl/hal_arm.cdl: Add big-endian option.
842 1999-12-08 Gary Thomas <gthomas@cygnus.co.uk>
844 * src/arm.ld: Add ".sram" section support (used by platforms
845 that have separate SRAM and DRAM).
847 1999-12-07 Jesper Skov <jskov@cygnus.co.uk>
849 * cdl/hal_arm.cdl: Added ARM7/ARM9 family option.
851 1999-12-06 Gary Thomas <gthomas@cygnus.co.uk>
853 * src/vectors.S (software_interrupt): Context save was incorrect
854 for this mode. Note that when entering from supervisor mode, the
855 link register (LR) is destroyed.
857 1999-12-02 John Dallaway <jld@cygnus.co.uk>
861 Use the <PACKAGE> token in custom rules.
863 1999-12-01 John Dallaway <jld@cygnus.co.uk>
867 Use the <PREFIX> token in custom rules.
869 1999-11-22 Gary Thomas <gthomas@cygnus.co.uk>
871 * src/arm.ld: Add section for definining static MMU tables.
873 * src/vectors.S: Introduce PLATFORM_EXTRAS, which if defined provides
874 a hook to include platform code in the "vectors.S" file. In particular,
875 some platforms will define this to be <cyg/hal/hal_platform_extras.h>
876 and define static MMU tables there.
878 1999-11-19 Jonathan Larmour <jlarmour@cygnus.co.uk>
880 * include/basetype.h (CYG_BYTEORDER): If the toolchain tells us to be
881 big-endian, be big-endian
882 Reported by Grant Edwards
884 1999-11-12 Gary Thomas <gthomas@cygnus.co.uk>
886 * src/vectors.S (reset_platform): New function used to reset board
887 in the absense of real hardware reset (not possible on all boards).
889 1999-11-11 John Dallaway <jld@cygnus.co.uk>
893 Generate 'arm.inc' in the build tree.
895 1999-11-05 John Dallaway <jld@cygnus.co.uk>
899 Add complete dependency analysis to the custom
902 1999-11-04 John Dallaway <jld@cygnus.co.uk>
906 Tidy up custom rules.
908 1999-11-04 John Dallaway <jld@cygnus.co.uk>
912 Output custom rule dependency information to .deps files in
913 the current directory.
915 Dispense with the need to create a 'src' sub-directory.
917 1999-11-01 Jonathan Larmour <jlarmour@cygnus.co.uk>
919 * src/hal_misc.c (exception_handler): Check for CYGDAT_CYGMON_ENABLE
920 rather than just CYGPKG_CYGMON
921 Include <pkgconf/cygmon.h> to get this define
923 1999-10-29 Simon FitzMaurice <sdf@cygnus.co.uk>
927 Use fgrep instead of grep in custom rules. The latter seems
928 to behave weirdly under win32.
930 1999-10-27 Gary Thomas <gthomas@cygnus.co.uk>
932 * src/arm_stub.c: Fix typo (CYGDAT_CYGMON_ENABLE). Also need
933 to include <pkgconf/cygmon.h>
935 1999-10-27 Gary Thomas <gthomas@cygnus.co.uk>
937 * src/arm_stub.c: Add explicit enable for CygMon package.
939 1999-10-27 Hugo Tyson <hmt@cygnus.co.uk>
941 * src/arm_stub.c (cyg_hal_gdb_interrupt): Bugfix to previous: ^Cs
942 were being ignored when received by the diag output code, because
943 there was already a break in place. Solution is to let
944 cyg_hal_gdb_interrupt() override any previous break, and tidy up
947 1999-10-26 Hugo Tyson <hmt@cygnus.co.uk>
949 * src/arm_stub.c (cyg_hal_gdb_place_break): Add this to the
950 ARM-specific GDB stub code. See hal/common/.../hal_stub for
953 1999-10-26 John Dallaway <jld@cygnus.co.uk>
957 Invoke 'sh' version of 'mkdir' explicitly in custom rules.
959 1999-10-26 Jesper Skov <jskov@cygnus.co.uk>
961 * src/vectors.S: Cleaned up LED code a bit.
963 1999-10-25 Gary Thomas <gthomas@cygnus.co.uk>
965 * src/hal_misc.c (exception_handler): If building for CygMon, defer
966 exception processing to it, not here.
968 * src/arm_stub.c (__install_breakpoints, __clear_breakpoints):
969 Leave out these [dummy] functions if building CygMon.
971 * include/pkgconf/hal_arm.h: Add new configuration option to let
972 programs which do not include GDB stubs still process "illegal
973 instruction" exceptions.
975 * src/vectors.S: Reorder context restore so stack changes are
976 protected (interrupts off).
978 1999-10-26 Jesper Skov <jskov@cygnus.co.uk>
980 * src/arm.ld: Added support for merging RODATA sections into DATA
981 * include/hal_io.h: Added BE support.
983 * src/vectors.S (LED): Added definition for PID board.
985 1999-10-26 John Dallaway <jld@cygnus.co.uk>
989 Modify custom make rules to specify file paths relative
990 to the package version directory.
992 1999-10-22 Hugo Tyson <hmt@cygnus.co.uk>
994 * src/arm_stub.c (cyg_hal_gdb_running_step):
995 (cyg_hal_gdb_break_is_set): Provide dummies for these two for now.
996 See changelog for hal/common/ hal_stub and generic_stub for info.
998 1999-10-21 Jonathan Larmour <jlarmour@cygnus.co.uk>
1000 * include/hal_arch.h: Tidy a bit so the breakpoint instruction is only
1001 defined in one place
1002 Change thumb breakpoint instruction to 0xbebe
1004 1999-10-18 John Dallaway <jld@cygnus.co.uk>
1008 Add cdl_option CYGHWR_THUMB.
1010 1999-10-14 Jesper Skov <jskov@cygnus.co.uk>
1011 From James Ingham <jingham@cygnus.com>:
1012 * src/PKGconf.mak: Make sed invocation Solaris safe.
1014 1999-10-11 Jesper Skov <jskov@cygnus.co.uk>
1016 * src/vectors.S (reset_vector): Always execute PLATFORM_SETUP1.
1018 1999-10-10 Gary Thomas <gthomas@cygnus.co.uk>
1020 * include/pkgconf/hal_arm.h:
1022 * src/arm_stub.c: Add thread debug support via Multi-ICE.
1024 1999-10-08 Jonathan Larmour <jlarmour@cygnus.co.uk>
1026 * src/arm.ld (SECTION_bss): Make *(.bss*) rather than just .bss, to
1027 cater for nickc's BSS gc improvements.
1029 1999-10-06 Jesper Skov <jskov@cygnus.co.uk>
1031 * include/basetype.h: Set endian to BE if required.
1033 1999-10-05 Jesper Skov <jskov@cygnus.co.uk>
1035 * src/arm.ld: Force output format to BE if required.
1037 1999-09-30 Jesper Skov <jskov@cygnus.co.uk>
1039 * src/vectors.S: Add thumb_func before thumb code where switching
1040 so GDB/objdump knows how to disassemble it.
1041 * include/hal_arch.h: Change thumb breakpoint to undefined
1043 * src/arm_stub.c (target_thumb_ins): Corrected branch offsets.
1045 1999-09-23 Gary Thomas <gthomas@cygnus.co.uk>
1047 * src/vectors.S (call_exception_handler): Change on 09-19 messed up
1048 status register wrt breakpoints, single stepping, etc.
1050 1999-09-21 Gary Thomas <gthomas@cygnus.co.uk>
1052 * include/hal_arch.h: Remove FIXME about GDB register layout.
1054 * src/context.S (hal_thread_save_context): Change function prologue
1055 to match APCS more closely (keeps GDB happier).
1057 1999-09-19 Gary Thomas <gthomas@cygnus.co.uk>
1059 * src/vectors.S (spurious_IRQ): Make sure interrupts are masked
1060 when switching to IRQ mode.
1062 * src/hal_misc.c (exception_handler): GDB stubs only take over
1063 memory exceptions. This allows proper handling when an application
1064 has it's own IRQ/FIQ VSR.
1066 1999-09-16 Jesper Skov <jskov@cygnus.co.uk>
1068 * src/arm.ld: Handle thumb glue sections.
1070 1999-09-16 Jesper Skov <jskov@cygnus.co.uk>
1072 * src/vectors.S: Always include thumb exception support.
1074 1999-09-15 Jesper Skov <jskov@cygnus.co.uk>
1076 * src/context.S: Don't trash r0 which holds the thread's initial
1079 * include/hal_arch.h:
1081 Added thumb-aware GDB interrupt functions.
1083 1999-09-14 Jesper Skov <jskov@cygnus.co.uk>
1085 * src/vectors.S (undefined_instruction): Adjusted wrong register.
1086 * src/arm_stub.c (target_thumb_ins): Set thumb flag when required.
1087 (target_ins): Added BX handling.
1090 * include/hal_arch.h:
1091 * src/hal_mk_defs.c:
1092 * src/arm_stub.c (__single_step):
1093 Determine thumb mode by looking at T bit.
1095 1999-09-10 Jesper Skov <jskov@cygnus.co.uk>
1097 * src/arm_stub.c (target_thumb_ins): BL is a double instruction.
1099 1999-09-13 Gary Thomas <gthomas@cygnus.co.uk>
1101 * src/vectors.S (handle_IRQ_or_FIQ): Allow spurious interrupts
1102 to be ignored. Some platforms (CL7xxx) have non-debounced
1103 interrupt sources which can vanish before the hardware can be
1106 1999-09-11 Jonathan Larmour <jlarmour@cygnus.co.uk>
1108 * src/arm_stub.c (__computeSignal): Synchronise return value with
1109 what libbsp does and GDB expects
1110 (__get_trap_number): Don't shift right 8 - it's already the right number
1112 1999-09-10 Jesper Skov <jskov@cygnus.co.uk>
1114 * src/vectors.S (start): Moved stub vector changeover to after
1117 1999-09-09 Jesper Skov <jskov@cygnus.co.uk>
1119 * include/hal_arch.h (HAL_BREAKPOINT):
1122 Added thumb stub support (except C-c support).
1124 1999-08-24 Gary Thomas <gthomas@cygnus.co.uk>
1126 * src/vectors.S: Fix misc THUMB procedures.
1128 1999-08-24 Hugo Tyson <hmt@masala.cygnus.co.uk>
1130 * src/vectors.S (handle_IRQ_or_FIQ): Set up the pointer-to-regset
1131 in r2 for calling the ISR as well as the DSR. This is needed for
1132 the cyg_hal_gdb_isr() for those platforms that handle ^C's
1133 incoming that way - the ISR needs a regset to know where to plant
1134 a breakpoint to stop the system in the interrupted context.
1136 1999-08-24 Jesper Skov <jskov@cygnus.co.uk>
1138 * src/vectors.S (LED): Check XBUS setting jumper and behave
1141 1999-08-23 Jesper Skov <jskov@cygnus.co.uk>
1144 (target_ins): Check whether branches execute.
1145 (ins_will_execute): Fixed HI and LS.
1147 1999-08-13 John Dallaway <jld@cygnus.co.uk>
1149 * cdl/hal_arm.cdl: Add path to CYGBLD_LINKER_SCRIPT value.
1151 1999-08-12 John Dallaway <jld@cygnus.co.uk>
1153 * cdl/hal_arm.cdl: Define CYGBLD_LINKER_SCRIPT.
1155 1999-08-12 Jesper Skov <jskov@cygnus.co.uk>
1157 * include/hal_io.h: Include plf_io.h when appropriate.
1159 1999-08-06 Jesper Skov <jskov@cygnus.co.uk>
1161 * src/vectors.S (handle_IRQ_or_FIQ): Moved setup of register_frame
1162 argument to just before the interrupt_end call.
1164 1999-07-28 Hugo Tyson <hmt@cygnus.co.uk>
1166 * src/vectors.S (_eCos_id): Remove bogus version string.
1168 1999-07-26 Hugo Tyson <hmt@cygnus.co.uk>
1170 * src/hal_misc.c (hal_default_isr): Call the special platform HAL
1171 routine to see whether there is a ^C lurking in the serial device
1172 through a macro, if it's defined. Problem is that
1173 CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT *is* defined for platforms that
1176 1999-07-23 Hugo Tyson <hmt@cygnus.co.uk>
1178 * src/hal_misc.c (hal_default_isr): If we are including
1179 CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT, then poll a special platform
1180 HAL routine to see whether there is a ^C lurking in the serial
1181 device. This has to be done from the default ISR so that others
1182 (which must know about ^Cs is they are still to be handled) can
1183 install over the top. Not all platforms support this, so enabling
1184 CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT will not necessarily work.
1186 1999-07-21 Hugo Tyson <hmt@cygnus.co.uk>
1188 * src/vectors.S (vectors): Re-organize startup a little to support
1189 ROMming of the image and stubrom creation. Withdraw publication
1190 of cyg_startup_stack; it's necessary to do this a different way,
1193 * include/hal_intr.h (hal_dram_size): reserve location 0x40 for
1194 communicating DRAM size between boot ROMs and app during startup,
1195 and remembering it within ROM startup. Platforms that don't need
1196 this should zero the location.
1198 1999-07-19 Hugo Tyson <hmt@cygnus.co.uk>
1200 * src/vectors.S (cyg_startup_stack): Publish this object for
1201 passing some DRAM size info around during startup.
1202 Remove the unused [well, ignored] array hal_vsr_table - the VSR
1203 table is defined to be at 0x20 by the code here in vectors.S
1205 * include/hal_intr.h (HAL_VSR_SET): define hal_vsr_table to be at
1206 0x20 where the hardware vectors actually read VSR entries from.
1207 Renumber VSR symbols to match. Do not use the external
1208 "hal_vsr_table" symbol.
1210 1999-07-15 Hugo Tyson <hmt@cygnus.co.uk>
1212 * src/vectors.S (reset_vector): Invalidate and disable caches for
1213 EBSA-285 startup is now in PLATFORM_SETUP1 as intended. Cache
1214 enabling is in hal_hardware_init; so, same results as before, but
1217 1999-07-14 Hugo Tyson <hmt@cygnus.co.uk>
1219 * src/vectors.S: Add some startup debug via a LED macro - which
1220 has different content depending on platform, of course.
1221 For the EBSA-285, flush caches when writing vectors and the like,
1222 since RAM startup occurs with caches enabled, otherwise you get
1223 mysterious traps as CygMon is entered regardless at the first
1224 clock tick, for example. This may be taken out again as ROM
1225 startup is dealt with via PLATFORM_SETUP1, but for now...
1227 1999-06-22 Gary Thomas <gthomas@cygnus.co.uk>
1229 * src/vectors.S: Fix names of 'report' functions (debug dumps
1230 for various exceptions). These needed changes for two reasons:
1231 name pollution and naming clashes after new ABI adopted.
1232 Improve support for FIQ interrupts.
1234 1999-06-16 Gary Thomas <gthomas@cygnus.co.uk>
1236 * src/vectors.S: Add ".pool" directives which cause assembler
1237 to dump it's literal pool early. This is necessary because
1238 of the limited addressing available in THUMB mode.
1240 1999-06-15 Gary Thomas <gthomas@cygnus.co.uk>
1242 * src/vectors.S (vectors): Some boards have an MMU, but the
1243 reset vector needs to have an unmapped address!
1245 1999-06-09 Gary Thomas <gthomas@cygnus.co.uk>
1247 * src/vectors.S (reset_vector): Streamline ROM/STUBS code.
1249 1999-05-25 Gary Thomas <gthomas@cygnus.co.uk>
1251 * src/vectors.S (_eCos_id): Add version string. Useful for
1252 tracking when a system was configured (especially ROMs).
1253 Add initial pure-thumb support - only for kernel+application
1256 * include/hal_intr.h: Update interrupt support macros for
1259 * src/context.S: Add initial pure-thumb mode support.
1261 1999-05-21 Hugo Tyson <hmt@cygnus.co.uk>
1263 * include/hal_intr.h: Define HAL_INTERRUPT_STACK_BASE and
1264 HAL_INTERRUPT_STACK_TOP so that stack usage macros in
1265 kernel/.../stackmon.hxx can work.
1267 * src/vectors.S (cyg_interrupt_stack_base): Define this symbol for
1268 the interrupt stack and its friend for the stack top so that we
1269 can publish them with nice names.
1271 1999-05-19 Gary Thomas <gthomas@cygnus.co.uk>
1273 * src/arm.ld: Change symbols to match new no-underscore ABI.
1275 1999-05-19 Gary Thomas <gthomas@cygnus.co.uk>
1277 * include/hal_intr.h: Define interrupt support functions for
1280 1999-05-16 Gary Thomas <gthomas@cygnus.co.uk>
1282 * include/hal_intr.h (HAL_INTERRUPT_STACK_CALL_PENDING_DSRS):
1283 Add macro for new DSR handling mechanism (was override of a
1284 "weak" symbol in kernel).
1286 1999-05-13 Hugo Tyson <hmt@cygnus.co.uk>
1288 * include/hal_arch.h (HAL_THREAD_INIT_CONTEXT): Align stack
1289 (rather conservatively) before use.
1291 1999-05-11 Gary Thomas <gthomas@cygnus.co.uk>
1293 * src/vectors.S: No separate interrupt stack if no kernel.
1295 1999-05-10 Gary Thomas <gthomas@cygnus.co.uk>
1298 * src/hal_mk_defs.c:
1299 * include/hal_arch.h: Fix up machine states, initialize stacks.
1301 1999-04-28 Bart Veer <bartv@cygnus.co.uk>
1304 Remove the -n argument to tail, it does not appear to be required
1305 on any supported host and causes problems with some
1306 implementations of tail.
1308 1999-04-25 Gary Thomas <gthomas@cygnus.co.uk>
1310 * src/vectors.S: Fix use of 'RAISE_INTR' which cannot be used in 'mov'
1311 instruction (doesn't fit). PR 19906
1313 1999-04-23 John Dallaway <jld@cygnus.co.uk>
1315 * src/PKGconf.mak: Avoid backslash in grep search pattern to
1316 workaround PR 19923.
1318 1999-04-15 Jonathan Larmour <jlarmour@cygnus.co.uk>
1320 * src/arm.ld: Define __bss_end at the end of the BSS
1321 * src/vectors.S (start): Use __bss_end rather than _end when clearing
1325 1999-04-14 Jonathan Larmour <jlarmour@cygnus.co.uk>
1327 * src/PKGconf.mak (EXTRAS): Don't generate extras.o here any more
1328 But do define EXTRAS every time for the linker script
1330 1999-04-13 Gary Thomas <gthomas@cygnus.co.uk>
1332 * src/vectors.S: Use new include <cyg/hal/hal_platform_setup.h>
1333 which includes macros and definitions for platform specifics.
1334 This keeps 'ifdef's out of "vectors.S" and makes cleaner code.
1335 Major restructuring of interrupt handling to support full use
1336 of a separate interrupt stack.
1338 1999-04-09 Jesper Skov <jskov@cygnus.co.uk>
1341 Moved get_register and put_register to hal_stub.c.
1343 1999-04-08 John Dallaway <jld@cygnus.co.uk>
1345 * src/*.ld: Revised SECTION_* macro arguments to
1346 avoid padded output sections (PR 19787)
1348 1999-03-22 Jonathan Larmour <jlarmour@cygnus.co.uk>
1350 * include/arm_stub.h: Update copyright
1352 * src/arm_stub.c: Update copyright
1354 1999-03-22 Hugo Tyson <hmt@cygnus.co.uk>
1356 * include/hal_arch.h:
1357 Use CYGNUM_HAL_STACK_SIZE_TYPICAL for the stack size instead of
1358 CYGNUM_HAL_MINIMUM_STACK_SIZE.
1360 1999-03-16 Gary Thomas <gthomas@cygnus.co.uk>
1362 * src/hal_misc.c: Change how breakpoint is described (just a long).
1364 * src/vectors.S: Pass registers to ISR for GDB break support.
1366 1999-03-17 John Dallaway <jld@cygnus.co.uk>
1368 * src/PKGconf.mak: Remove dependence on echo '-e' switch.
1370 1999-03-12 Gary Thomas <gthomas@cygnus.co.uk>
1372 * include/hal_arch.h: Add definition of 'CYGNUM_HAL_MINIMUM_STACK_SIZE'
1374 1999-03-11 Gary Thomas <gthomas@cygnus.co.uk>
1376 * include/pkgconf/hal_arm.h: Fix comment (name was incorrect)
1378 1999-03-10 Jesper Skov <jskov@cygnus.co.uk>
1380 * include/hal_intr.h (HAL_INTERRUPT_ATTACH): Added.
1382 1999-03-09 Gary Thomas <gthomas@cygnus.co.uk>
1384 * src/hal_misc.c: Move declaration of __CTOR_LIST__ to avoid warning.
1386 1999-03-09 Gary Thomas <gthomas@cygnus.co.uk>
1388 * src/vectors.S: Remove warning on stack size redefine.
1390 1999-03-08 Gary Thomas <gthomas@cygnus.co.uk>
1392 * src/vectors.S: Override default stack size on AEB.
1394 1999-03-05 Gary Thomas <gthomas@cygnus.co.uk>
1397 * include/pkgconf/hal_arm.h: DOn't print exception info if GDB stubs enabled.
1400 * src/arm.ld: Clean up I/O package changes.
1402 1999-03-04 Jonathan Larmour <jlarmour@cygnus.co.uk>
1405 Unconditionalize use of libextras.a and add libextras.a to GROUP()
1407 1999-03-04 Gary Thomas <gthomas@cygnus.co.uk>
1409 These changes merged from 'ecos-new_devs-19990216-branch'
1411 (1999-02-18 Gary Thomas <gthomas@cygnus.co.uk>)
1413 * src/PKGconf.mak (DRIVERS):
1414 * src/arm.ld: Support special linking requirements for I/O drivers.
1416 (1999-02-16 Gary Thomas <gthomas@cygnus.co.uk>)
1418 * src/arm.ld: Changes for new I/O [device drivers] subsystem.
1420 1999-02-26 Gary Thomas <gthomas@cygnus.co.uk>
1422 * src/vectors.S: Add separate interrupt stack handling.
1424 Fix memory region layouts for AEB allowing better error detection.
1426 1999-02-25 Nick Garnett <nickg@cygnus.co.uk>
1429 Changed label used to access scheduler lock to one that is not
1430 mangled by C++. This is intended to make support for interrupt
1431 handling in non-kernel configurations easier.
1433 1999-02-20 Jonathan Larmour <jlarmour@cygnus.co.uk>
1435 * include/hal_arch.h:
1436 Rename deliver_exception -> cyg_hal_deliver_exception
1439 * include/hal_intr.h:
1440 Reorganise vector/interrupt/exception names according to purpose
1443 * arch/current/src/hal_misc.c:
1444 Rename deliver_exception -> cyg_hal_deliver_exception
1445 Rename vectors due to hal_intr.h changes
1448 * arch/current/src/hal_mk_defs.c:
1449 * arch/current/src/vectors.S
1450 Rename vectors due to hal_intr.h changes
1453 1999-02-16 Jesper Skov <jskov@cygnus.co.uk>
1455 * src/vectors.S: Changed set_debug_traps to initialize_stub.
1458 * include/arm_stub.h:
1459 Cleaned up to only include arch specific stub code.
1461 1999-02-16 Gary Thomas <gthomas@cygnus.co.uk>
1463 * src/arm.ld: Changes for new I/O [device drivers] subsystem.
1465 1999-02-10 Gary Thomas <gthomas@cygnus.co.uk>
1467 * src/hal_misc.c (hal_default_isr): Add diagnostic message for PR 19145-19147
1469 1999-02-05 John Dallaway <jld@cygnus.co.uk>
1471 * src/arm.ld: Add LMA_EQ_VMA macro definition.
1473 1999-02-04 Gary Thomas <gthomas@cygnus.co.uk>
1475 * src/vectors.S: Use symbolic 'raise interrupt' instead of hard coded value.
1476 Better GDB stubs stack handling.
1478 * src/hal_mk_defs.c: Add symbolic symbol for 'raise interrupt' instrumentation.
1480 1999-02-03 Gary Thomas <gthomas@cygnus.co.uk>
1482 * src/hal_misc.c (cyg_hal_invoke_constructors):
1483 * src/vectors.S (start): Use C coded 'cyg_hal_invoke_constructors()'
1485 * src/hal_misc.c (exception_handler): Remove debug message ...oops!
1487 * include/hal_arch.h (HAL_SET_GDB_REGISTERS): Restore PSR.
1489 * src/vectors.S: Use separate stack for GDB stubs exception handlers.
1491 1999-02-01 Gary Thomas <gthomas@cygnus.co.uk>
1493 * src/hal_misc.c: Need <pkgconf/hal_arm.h> for 'dump exception' option.
1495 * src/vectors.S: Fix ROM startup machine initialization.
1497 1999-01-25 Gary Thomas <gthomas@cygnus.co.uk>
1499 * src/arm.ld: Add Copyright
1501 1999-01-25 Jesper Skov <jskov@cygnus.co.uk>
1503 * src/arm_stub.c (__build_t_packet): Rewrote fix me text. Added PR
1504 number, but otherwise left the note.
1506 1999-01-21 Gary Thomas <gthomas@cygnus.co.uk>
1508 * src/arm_stub.c (ins_will_execute): Computation of LS/HI
1511 1999-01-20 Gary Thomas <gthomas@cygnus.co.uk>
1513 * src/arm.ld: Change "etext" to "__etext".
1515 1999-01-19 Gary Thomas <gthomas@cygnus.co.uk>
1517 * src/vectors.S: Rework exception handlers.
1518 (start): Fix for new startup type (STUBS)
1520 * src/hal_misc.c (exception_handler): Allow GDB stubs to take over all
1521 exceptions while the stubs are executing. Also move some common stubs
1522 initialization into this file.
1524 1999-01-18 Gary Thomas <gthomas@cygnus.co.uk>
1526 * include/pkgconf/hal_arm.h: Add configurations for GDB stubs/normal ROM.
1528 * src/arm.ld: Include HAL/ARM specifics.
1530 * include/pkgconf/hal_arm.h:
1532 * src/vectors.S: Add configure option 'CYGHWR_HAL_ARM_DUMP_EXCEPTIONS'
1533 which is used to chose whether to print diagnostic exception dumps
1536 1999-01-15 Gary Thomas <gthomas@cygnus.co.uk>
1538 * src/hal_misc.c: Clean up warnings
1540 * include/hal_arch.h:
1541 * include/hal_intr.h: Add function prototypes to avoid warnings.
1543 * src/arm.ld: Add definition of _stext. Take out
1544 GLOBAL_OFFSET_TABLE.
1546 1999-01-14 Gary Thomas <gthomas@cygnus.co.uk>
1548 * src/PKGconf.mak: Set up for MLT based linker scripts.
1550 * src/arm.ld: New file
1552 * include/hal_intr.h (HAL_QUERY_INTERRUPTS): Test was backwards
1554 1999-01-13 Gary Thomas <gthomas@cygnus.co.uk>
1556 * include/hal_intr.h (HAL_TRANSLATE_VECTOR): Add new macro
1558 1999-01-12 Gary Thomas <gthomas@cygnus.co.uk>
1560 * include/basetype.h (CYG_DOUBLE_BYTEORDER): Define ordering
1561 of words within doubles.
1563 1999-01-05 Gary Thomas <gthomas@cygnus.co.uk>
1565 * src/vectors.S: Force AEB-1 memory configuration.
1567 1998-12-16 Gary Thomas <gthomas@cygnus.co.uk>
1569 * src/arm_stub.c (ins_will_execute): Fix warning.
1571 * include/hal_intr.h: Add <hal/hal_platform_ints.h>
1572 for platform specifics.
1574 1998-12-15 Gary Thomas <gthomas@cygnus.co.uk>
1576 * src/hal_mk_defs.c:
1578 * src/vectors.S: Changes to support kernel-less configuration.
1579 (___gccmain): Add new dummy function.
1581 * src/hal_misc.c: Merge in platform independent code from
1582 old "pid/.../hal_misc.c"
1584 1998-12-15 Jesper Skov <jskov@cygnus.co.uk>
1586 * include/hal_arch.h: Changed HAL_JMP_BUF_SIZE to
1587 CYGARC_JMP_BUF_SIZE.
1589 1998-12-14 Gary Thomas <gthomas@cygnus.co.uk>
1591 * src/hal_misc.c (exception_handler): Change config option
1592 to be consistent "CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS"
1594 * include/hal_arch.h (HAL_THREAD_INIT_CONTEXT): Set initial
1595 PC for GDB thread info.
1597 * src/arm_stub.c (__build_t_packet): Fix thread id's which
1598 must be send to GDB in big-endian.
1600 1998-12-10 Jesper Skov <jskov@cygnus.co.uk>
1602 * include/hal_cache.h (HAL_DCACHE_UNLOCK_ALL,
1603 HAL_ICACHE_UNLOCK_ALL): Added.
1605 1998-12-09 Gary Thomas <gthomas@cygnus.co.uk>
1607 * src/vectors.S (abort_prefetch): Clean up all exception
1608 handlers (some were just broken).
1610 * src/hal_misc.c (exception_handler): Improved exception
1611 handling for GDB stubs while accessing memory.
1613 1998-12-04 Gary Thomas <gthomas@cygnus.co.uk>
1615 * src/arm_stub.c (target_ins): Finish single step support.
1617 1998-12-03 Gary Thomas <gthomas@cygnus.co.uk>
1619 * src/vectors.S (_name): Add undefined instruction handling
1620 (for breakpoint/single step support). Plus some rework and
1623 * src/arm_stub.c (single_step):
1624 * include/hal_arch.h (HAL_BREAKPOINT): Make breakpoint use
1625 an illegal instruction rather than SWI.
1627 1998-12-02 Gary Thomas <gthomas@cygnus.co.uk>
1629 * src/arm_stub.c (ins_will_execute): Take out debug messages
1631 * include/pkgconf/hal_arm.h: New file
1633 * include/arm_stub.h: Add PSR register definitions
1635 * src/arm_stub.c (single_step): Support single stepping
1637 1998-12-01 Gary Thomas <gthomas@cygnus.co.uk>
1639 * src/vectors.S (reset_vector): Rework exception handing to leave
1640 vectors in place unless GDB stubs are included (or started in
1641 user mode via Angel)
1643 1998-11-26 Gary Thomas <gthomas@cygnus.co.uk>
1645 * src/vectors.S (_vectors): Rework to handle SWI exception
1646 Changes to make GDB stubs work.
1648 * src/hal_misc.c (exception_handler):
1649 Save registers in global "_hal_registers"
1651 * src/PKGconf.mak (COMPILE): Add arm_stub.c
1653 * include/hal_io.h: Need to include <pkgconf/kernel.h>
1655 * include/hal_arch.h (HAL_THREAD_INIT_CONTEXT):
1656 Clean up stack usage - no need for 56 byte padding (PPC holdover)
1658 (HAL_GET_GDB_REGISTERS):
1659 (HAL_SET_GDB_REGISTERS): Clean up for working stubs
1661 * src/arm_stub.c: New file, GDB stubs support
1663 1998-11-18 Gary Thomas <gthomas@cygnus.co.uk>
1665 * src/hal_mk_defs.c: Add define for 'HAL_SavedRegisters'
1667 * include/hal_arch.h: cleanup comments
1669 * include/basetype.h: cleanup comments
1671 * src/vectors.S: Improved interrupt stack handling.
1673 * include/hal_intr.h: Add support for interrupt latency
1674 measurement, controlled by CYGVAR_KERNEL_COUNTERS_CLOCK_LATENCY.
1676 1998-10-16 Bart Veer <bartv@cygnus.co.uk>
1678 * src/vectors.S (__interrupt_stack):
1679 Made the interrupt stack size configurable.
1681 //===========================================================================
1682 //####ECOSGPLCOPYRIGHTBEGIN####
1683 // -------------------------------------------
1684 // This file is part of eCos, the Embedded Configurable Operating System.
1685 // Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
1687 // eCos is free software; you can redistribute it and/or modify it under
1688 // the terms of the GNU General Public License as published by the Free
1689 // Software Foundation; either version 2 or (at your option) any later version.
1691 // eCos is distributed in the hope that it will be useful, but WITHOUT ANY
1692 // WARRANTY; without even the implied warranty of MERCHANTABILITY or
1693 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
1694 // for more details.
1696 // You should have received a copy of the GNU General Public License along
1697 // with eCos; if not, write to the Free Software Foundation, Inc.,
1698 // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
1700 // As a special exception, if other files instantiate templates or use macros
1701 // or inline functions from this file, or you compile this file and link it
1702 // with other works to produce a work based on this file, this file does not
1703 // by itself cause the resulting work to be covered by the GNU General Public
1704 // License. However the source code for this file must still be made available
1705 // in accordance with section (3) of the GNU General Public License.
1707 // This exception does not invalidate any other reasons why a work based on
1708 // this file might be covered by the GNU General Public License.
1710 // Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
1711 // at http://sources.redhat.com/ecos/ecos-license/
1712 // -------------------------------------------
1713 //####ECOSGPLCOPYRIGHTEND####
1714 //===========================================================================