1 2005-04-21 Ian Campbell <icampbell@arcom.com>
3 * src/redboot_linux_exec.c: Added -t option which takes the
4 physical address to copy to. Very useful for booting non-Linux
7 2005-03-03 Andrew Lunn <andrew.lunn@ascom.ch>
9 * src/redboot_linux_exec.c (CYGARC_HAL_MMU_OFF_X): Fix compiler
10 warning about spaces after continuation character.
12 2004-11-23 Jani Monoses <jani@iv.ro>
14 * src/vectors.S: Allow DSRs in non-kernel configuration.
16 2004-10-07 Andrew Lunn <andrew.lunn@ascom.ch>
18 * src/arm_stub.c (target_ins): Added a cast to prevent a compiler
21 2004-09-02 Mark Salter <msalter@redhat.com>
23 * cdl/hal_arm.cdl (CYGHWR_REDBOOT_LINUX_EXEC_X_SWITCH): New
24 option used to enable "-x" option to exec command.
26 * src/redboot_linux_exec.c (do_exec): Add support for booting
27 kernels built for endianess oppposite of RedBoot.
29 2004-07-07 Gary Thomas <gary@mlbassoc.com>
31 * src/redboot_linux_exec.c (do_exec): Fix test for valid entry
32 (was being overwritten by command line parameter)
34 2004-05-27 Gary Thomas <gary@mlbassoc.com>
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)
40 2004-05-24 Ian Campbell <icampbell@arcom.com>
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.
46 2004-04-22 Jani Monoses <jani@iv.ro>
49 Invoke tail with stricter syntax that works in latest coreutils.
51 2003-11-05 Roland Caßebohm <roland.cassebohm@visionsystems.de>
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 .
58 2003-10-23 Thomas Koeller <thomas.koeller@baslerweb.com>
60 * src/vectors.S: Acknowlege spurious interrupts.
62 2003-10-13 Thomas Koeller <thomas.koeller@baslerweb.com>
64 * src/vectors.S: Fixed broken thumb mode exception handling.
66 2003-06-30 Mark Salter <msalter@redhat.com>
68 * src/vectors.S: Fix CYGOPT_HAL_ARM_PRESERVE_SVC_SPSR handling.
70 2003-06-24 Jonathan Larmour <jifl@eCosCentric.com>
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
77 * src/hal_misc.c: Remove hal_idle_thread_action. It's no use.
79 2003-05-06 Pierre Habraken <Pierre.Habraken@imag.fr>
81 * src/arm_stub.c (target_ins, target_thumb_ins): Added code to
82 enable stepping into swi instructions.
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
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.
97 2003-04-30 Jonathan Larmour <jifl@eCosCentric.com>
99 * src/vectors.S (handle_IRQ_or_FIQ): Tweak below to be conditional on
102 2003-04-26 Daniel Néri <daniel.neri@sigicom.se>
104 * vectors.S (handle_IRQ_or_FIQ):
105 Use thumb-aware call to hal_spurious_IRQ.
107 2003-04-13 Bart Veer <bartv@ecoscentric.com>
109 * src/vectors.S (start): fix build problem with -mthumb
111 2003-03-11 Mark Salter <msalter@redhat.com>
113 * src/redboot_linux_exec.c (do_exec): Call eth_drv_stop as necessary.
115 2003-02-13 Mark Salter <msalter@redhat.com>
117 * src/redboot_linux_exec.c (do_exec): Add missing semicolon.
119 2003-02-13 Gary Thomas <gary@mlbassoc.com>
121 * src/redboot_linux_exec.c (CYGHWR_REDBOOT_LINUX_ATAG_MEM):
122 Add CYG_MACRO_START/END markers.
124 2003-02-12 Gary Thomas <gary@mlbassoc.com> inspired by
125 2003-02-12 Robin Farine <robin.farine@acn-group.ch>
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>
131 * src/redboot_linux_exec.c: Make sure RAM description is sane.
133 2003-01-31 Mark Salter <msalter@redhat.com>
135 * src/hal_syscall.c (hal_syscall_handler): Let generic syscall code
138 2003-01-17 Patrick Doyle <wpd@delcomsys.com>
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.
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.
147 2003-01-06 Patrick Doyle <wpd@delcomsys.com>
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.
154 2002-12-11 Mark Salter <msalter@redhat.com>
156 * include/hal_io.h: Allow variant or platform HALs to override
159 2002-11-12 Mark Salter <msalter@redhat.com>
161 * src/arm_stub.c (target_ins): Account for PC prefetch when PC is
162 source register in data processing insns.
164 2002-08-29 Mark Salter <msalter@redhat.com>
166 * src/vectors.S: Avoid entering thumb mode in exception handlers.
168 2002-08-27 Mark Salter <msalter@redhat.com>
170 * src/arm.ld: Undefine arm to avoid problem with .note.arm.ident.
172 2002-08-22 Mark Salter <msalter@redhat.com>
174 * src/arm.ld: Add .note.arm.ident section used by tools to identify
175 architecture variants.
177 2002-08-21 Mark Salter <msalter@redhat.com>
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.
183 2002-08-02 Andrew Lunn <Andrew.Lunn@ascom.ch>
185 * cdl/hal_arm.cdl: Redboot exec command can now be disabled by CDL
187 2002-07-15 Mark Salter <msalter@redhat.com>
189 * include/arm_stub.h: Comment out NUMREGBYTES.
191 2002-05-28 Mark Salter <msalter@redhat.com>
193 * cdl/hal_arm.cdl: Tweaked description for
194 CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS.
195 Add CYGHWR_REDBOOT_ARM_LINUX_TAGS_ADDRESS.
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
201 2002-05-20 Gary Thomas <gthomas@redhat.com>
203 * include/hal_io.h: Fix ...STRING macros - not using index.
204 Pointed out by Thomas Koeller <thomas@koeller.dyndns.org>.
206 2002-05-09 Nick Garnett <nickg@redhat.com>
208 * src/vectors.S (handle_IRQ_or_FIQ): Save SVC mode LR in interrupt
209 handling as well as exceptions.
211 * src/context.S (hal_thread_switch_context): Use correct size
212 for skipping new HAL_SavedRegisters fields.
214 2002-05-08 Jonathan Larmour <jlarmour@redhat.com>
216 * cdl/hal_arm.cdl: Remove -malignment-traps here - add it only from
217 packages when needed.
219 2002-05-08 Nick Garnett <nickg@redhat.com>
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
229 * src/hal_mk_defs.c: Added definitions for armreg_r10 and
232 * include/hal_arch.h: Added svc_lr field to HAL_SavedRegisters to
233 save SVC mode link register during exception handling.
235 2002-04-30 Jesper Skov <jskov@redhat.com>
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.
241 2002-04-29 Jonathan Larmour <jlarmour@redhat.com>
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.
248 2002-04-25 Gary Thomas <gthomas@redhat.com>
250 * src/vectors.S: Safer clearing of BSS.
252 2002-04-15 Jonathan Larmour <jlarmour@redhat.com>
254 * src/hal_syscall.c (hal_syscall_handler): Add extra sig argument to
257 2002-04-15 Mark Salter <msalter@redhat.com>
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.
266 2002-04-11 Jesper Skov <jskov@redhat.com>
268 * src/arm.ld: Fixed .sbss rule.
270 2002-04-10 Jonathan Larmour <jlarmour@redhat.com>
272 * src/arm.ld: Define .gnu.linkonce sections properly.
273 Remove sbss from data section.
275 2002-03-27 Gary Thomas <gthomas@redhat.com>
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.
283 2002-02-19 Mark Salter <msalter@redhat.com>
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.
289 2002-02-08 Jesper Skov <jskov@redhat.com>
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
295 2002-01-29 Jesper Skov <jskov@redhat.com>
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
303 2002-01-28 Jesper Skov <jskov@redhat.com>
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
311 2002-01-25 Jesper Skov <jskov@redhat.com>
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.
318 2002-01-08 Hugo Tyson <hmt@redhat.com>
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.
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.
328 2001-11-02 Hugo Tyson <hmt@redhat.com>
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.
335 2001-10-29 Hugo Tyson <hmt@redhat.com>
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
341 2001-10-24 Gary Thomas <gthomas@redhat.com>
343 * src/hal_misc.c (hal_msbindex): Fix calculation.
345 2001-10-23 Hugo Tyson <hmt@redhat.com>
347 * include/hal_mmu.h (MMU_Control_Z,F,RR): Some extra defines for
348 newer ARM architectures.
350 2001-10-11 Fabrice Gautier <Fabrice_Gautier@sdesigns.com>
352 * include/hal_io.h: Add _STRING variants of I/O macros to allow
353 writing of consecutive items to the same registers.
355 2001-10-02 Jonathan Larmour <jlarmour@redhat.com>
357 * include/hal_arch.h: Remove CYG_HAL_TABLE_BEGIN and CYG_HAL_TABLE_END
358 as the common versions are acceptable.
360 2001-10-01 Jonathan Larmour <jlarmour@redhat.com>
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.
367 2001-08-24 Mark Salter <msalter@redhat.com>
369 * src/arm_stub.c (target_thumb_ins): Add support for pop insn.
371 2001-08-21 Hugo Tyson <hmt@redhat.com>
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.
377 2001-07-19 Gary Thomas <gthomas@redhat.com>
379 * src/vectors.S: Support ROMRAM startup mode. Note: most of
380 the support for this mode will be in the platform setup code.
382 2001-07-18 Gary Thomas <gthomas@redhat.com>
384 * src/hal_mk_defs.c (main): FIQ no longer listed as an exception.
386 2001-07-17 Jonathan Larmour <jlarmour@redhat.com>
388 * include/hal_intr.h: Define range of exceptions more accurately.
390 2001-07-16 Gary Thomas <gthomas@redhat.com>
392 * src/hal_misc.c (exception_handler): Allow memory faults to be
393 caught, even when GDB stubs are not included.
395 2001-06-22 Gary Thomas <gthomas@redhat.com>
397 * include/arm_stub.h (NUMREGBYTES): Define - this tells GDB how
398 large it's communications buffers need to be.
400 2001-06-05 Gary Thomas <gthomas@redhat.com>
401 2001-06-05 Thomas Fähnle <thomas.faehnle@tst-ag.de>
403 * src/vectors.S (spurious_IRQ): Better handling of spurious ints.
404 Pass register frame to handler.
406 2001-05-23 Gary Thomas <gthomas@redhat.com>
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.
412 2001-04-30 Gary Thomas <gthomas@redhat.com>
414 * src/vectors.S (__exception_handlers): Platforms must explicitly
415 define CYGSEM_HAL_ROM_RESET_USES_JUMP if required.
417 2001-04-27 Hugo Tyson <hmt@redhat.com>
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.
424 2001-04-19 Gary Thomas <gthomas@redhat.com>
426 * cdl/hal_arm.cdl: Fix typo for ARM9 systems.
428 2001-04-18 Gary Thomas <gthomas@redhat.com>
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.
435 2001-04-16 Gary Thomas <gthomas@redhat.com>
437 * cdl/hal_arm.cdl: Add new interfaces to describe CPU family and
440 2001-04-07 Mark Salter <msalter@redhat.com>
442 * src/arm_stub.c: Add support for v5T BLX insn.
444 2001-03-30 Mark Salter <msalter@redhat.com>
446 * src/vectors.S (__exception_handlers): Don't use relative branch
447 for reset on iq80310.
449 2001-03-28 Hugo Tyson <hmt@redhat.com>
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.
460 2001-02-24 Gary Thomas <gthomas@redhat.com>
462 * include/hal_mmu.h (MMU_Control_X): Add - used by Win/CE.
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.
469 2001-02-22 Jesper Skov <jskov@redhat.com>
471 * src/arm.ld: Relocate .2ram sections to the .data section.
473 2001-02-20 Jesper Skov <jskov@redhat.com>
475 * cdl/hal_arm.cdl: Added CYGBLD_ARM_ENABLE_THUMB_INTERWORK.
477 2001-02-13 Gary Thomas <gthomas@redhat.com>
479 * src/vectors.S (handle_IRQ_or_FIQ): Change behaviour for
480 handling spurious interrupts.
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.
487 * include/hal_intr.h (CYGNUM_HAL_INTERRUPT_NONE): Define.
489 2001-02-09 Hugo Tyson <hmt@redhat.com>
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.
500 2001-02-08 Jesper Skov <jskov@redhat.com>
502 * include/arm_vv.h: Removed again, compiler does magic to thumb
504 * include/hal_arch.h: Same.
506 2001-02-07 Jesper Skov <jskov@redhat.com>
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)
514 2001-02-02 Mark Salter <msalter@redhat.com>
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
521 * include/hal_arch.h (HAL_BREAKINST_ADDR): New macro to provide
522 address of correct breakpoint insn of the given length.
524 2001-02-01 Jesper Skov <jskov@redhat.com>
526 * src/hal_misc.c: Don't use diag_printf directly (rely on tracing
529 2001-01-31 Mark Salter <msalter@redhat.com>
531 * src/vectors.S (FIQ): Fix broken fiq handling.
533 2001-01-31 Jesper Skov <jskov@redhat.com>
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.
539 2001-01-24 Jonathan Larmour <jlarmour@redhat.com>
541 * src/vectors.S (init_flag): Add explicit alignment, just in case.
542 From Ilko Iliev <iliev@caretec.at>
544 2001-01-11 Hugo Tyson <hmt@redhat.com>
546 * src/vectors.S (hal_dram_size): Create hal_dram_type in memory at
547 0x44, right after hal_dram_size.
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
554 2000-12-13 Hugo Tyson <hmt@redhat.com>
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
561 2000-12-11 Gary Thomas <gthomas@redhat.com>
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.
566 2000-11-19 Gary Thomas <gthomas@redhat.com>
568 * include/hal_io.h: Use CYGBLD_HAL_PLATFORM_IO_H for those platforms
569 which define it (relieves this file of messy includes).
571 2000-11-16 Jesper Skov <jskov@redhat.com>
573 * include/basetype.h: Define LABEL mangling macros.
575 * include/arch.inc: Added.
577 2000-11-06 Mark Salter <msalter@redhat.com>
579 * src/hal_syscall.c: New file. Arm interface to redboot's
580 handler for GNUPro based application library syscalls.
582 * src/arm_stub.c (__is_bsp_syscall): New function. Return
583 true if exception caused by bsp SWI.
585 * include/arm_stub.h: Add declaration for __is_bp_syscall.
587 * cdl/hal_arm.cdl: Add hal_syscall.c to compile list.
589 2000-11-04 Mark Salter <msalter@redhat.com>
591 * include/hal_io.h: Include cyg/hal/plf_io.h for IQ80310.
593 * src/arm_stub.c (__computeSignal): New interface for
594 HAL_STUB_IS_STOPPED_BY_HARDWARE
596 2000-10-27 Mark Salter <msalter@redhat.com>
598 * src/arm_stub.c: Removed uneccesary include.
600 * src/vectors.S (start): Fix use of registers which may have
601 been destroyed by an LED macro.
603 2000-10-26 Mark Salter <msalter@redhat.com>
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.
610 * include/hal_arch.h (HAL_BREAKINST_TYPE): Define. Needed by
611 hw watchpoint/breakpoint support in stub.
613 2000-10-20 Jesper Skov <jskov@redhat.com>
615 * src/hal_misc.c: Update __mem_fault_handler declaration.
617 2000-09-05 Andrew Lunn <andrew.lunn@ascom.ch>
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
623 2000-08-15 Hugo Tyson <hmt@cygnus.co.uk>
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.
630 2000-08-14 Hugo Tyson <hmt@cygnus.co.uk>
632 * src/arm.ld (SECTION_text): Change to stext and etext unadorned
633 with underlines so that RedBoot can see them.
635 2000-08-14 Gary Thomas <gthomas@redhat.com>
637 * include/hal_arch.h:
638 * src/arm.ld: Changes to support new [anonymous] tables.
640 2000-07-17 Jesper Skov <jskov@redhat.com>
642 * src/vectors.S (start): Hack to allow thumb tests to run in farm
643 until vector table Thumb/ARM API is fixed.
645 2000-07-07 Jesper Skov <jskov@redhat.com>
647 * src/arm_stub.c: Changes to support CygMon changes.
649 * src/hal_misc.c: Fix warnings.
651 2000-07-05 Jesper Skov <jskov@redhat.com>
655 All platforms now has VECTOR_SUPPORT (or provide alternative
656 implementations). Removed checks for the option.
658 2000-07-04 Jonathan Larmour <jlarmour@redhat.co.uk>
660 * cdl/hal_arm.cdl: Add CYGINT_HAL_ARM_MEM_REAL_REGION_TOP
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
667 2000-06-28 Jesper Skov <jskov@redhat.com>
671 Fix compiler warnings.
673 2000-06-21 Nick Garnett <nickg@cygnus.co.uk>
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
681 * include/basetype.h:
682 Removed definition of CYG_LABEL_NAME(). Now dealt with by default
683 definition in cyg_type.h.
687 Removed use of CYG_LABEL_NAME(), added underscore to _breakinst.
690 Added extra underscores to _stext and _etext.
691 Switched over to new table creation mechanism.
693 2000-06-19 Gary Thomas <gthomas@redhat.com>
695 * src/vectors.S: Changes for virtual vector support.
696 (hal_virtual_vector_table): Need to protect if virtual vector
699 * src/hal_mk_defs.c: Add symbols for virtual vector table.
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.
704 * include/hal_intr.h: "Fixed" items now exported in 'vectors.S'
706 * src/vectors.S: Add notion of "fixed vectors" to all platforms.
708 2000-06-08 Jesper Skov <jskov@redhat.com>
710 * include/hal_arch.h (CYGARC_HAL_SAVE_GP, CYGARC_HAL_RESTORE_GP):
713 2000-06-04 Gary Thomas <gthomas@redhat.com>
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.
719 2000-06-01 Gary Thomas <gthomas@redhat.com>
721 * include/hal_mmu.h (MMU_Control_I): Added for StrongARM support.
723 2000-04-10 Hugo Tyson <hmt@cygnus.co.uk>
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.
731 2000-04-04 Jesper Skov <jskov@redhat.com>
735 Wrap the trivial thumb stuff in macros so the important bits stand
739 2000-03-24 Jesper Skov <jskov@redhat.com>
741 * src/arm_stub.c: Make place_break thumb-aware.
743 * include/arm_stub.h (CYG_HAL_GDB_ENTER_CRITICAL_IO_REGION):
744 Thumb-aware definition.
746 2000-03-01 Gary Thomas <gthomas@cygnus.co.uk>
749 Implement CYGINT_HAL_DIAG_DISABLE_GDB_PROTOCOL_SUPPORTED.
751 2000-02-29 Jonathan Larmour <jlarmour@redhat.co.uk>
753 * include/arm_stub.h: Make header C++ safe
755 2000-02-28 Gary Thomas <gthomas@cygnus.co.uk>
757 * src/hal_misc.c: Use standard 'diag_dump_buf()' instead of
760 2000-02-16 Jesper Skov <jskov@redhat.com>
762 * src/arm_stub.c: CYG_HAL_ARM -> CYGPKG_HAL_ARM
764 2000-02-10 Jesper Skov <jskov@redhat.com>
766 * src/vectors.S (reset_platform):
767 Removed handling of stubs startup type.
769 2000-02-09 Jesper Skov <jskov@redhat.com>
771 * cdl/hal_arm.cdl: Removed some fix mes.
773 2000-02-01 Jonathan Larmour <jlarmour@redhat.co.uk>
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
779 2000-02-01 Jesper Skov <jskov@redhat.com>
781 * src/vectors.S: Treat ROM startup+ROM monitor as STUBS startup.
783 * src/arm.ld: Changed PID BE workaround to work with ROM startup.
784 Not just when building stubs.
786 2000-01-28 Gary Thomas <gthomas@cygnus.co.uk>
788 * src/arm.ld: Add new section 'netdevtab' used to support
789 network device initialization.
791 2000-01-26 Jonathan Larmour <jlarmour@redhat.co.uk>
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
797 1999-12-16 Gary Thomas <gthomas@cygnus.co.uk>
799 * src/arm.ld: Include all SRAM (*.sram*) sections.
801 1999-12-09 John Dallaway <jld@cygnus.co.uk>
803 * cdl/hal_arm.cdl: Add big-endian option.
805 1999-12-08 Gary Thomas <gthomas@cygnus.co.uk>
807 * src/arm.ld: Add ".sram" section support (used by platforms
808 that have separate SRAM and DRAM).
810 1999-12-07 Jesper Skov <jskov@cygnus.co.uk>
812 * cdl/hal_arm.cdl: Added ARM7/ARM9 family option.
814 1999-12-06 Gary Thomas <gthomas@cygnus.co.uk>
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.
820 1999-12-02 John Dallaway <jld@cygnus.co.uk>
824 Use the <PACKAGE> token in custom rules.
826 1999-12-01 John Dallaway <jld@cygnus.co.uk>
830 Use the <PREFIX> token in custom rules.
832 1999-11-22 Gary Thomas <gthomas@cygnus.co.uk>
834 * src/arm.ld: Add section for definining static MMU tables.
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.
841 1999-11-19 Jonathan Larmour <jlarmour@cygnus.co.uk>
843 * include/basetype.h (CYG_BYTEORDER): If the toolchain tells us to be
844 big-endian, be big-endian
845 Reported by Grant Edwards
847 1999-11-12 Gary Thomas <gthomas@cygnus.co.uk>
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).
852 1999-11-11 John Dallaway <jld@cygnus.co.uk>
856 Generate 'arm.inc' in the build tree.
858 1999-11-05 John Dallaway <jld@cygnus.co.uk>
862 Add complete dependency analysis to the custom
865 1999-11-04 John Dallaway <jld@cygnus.co.uk>
869 Tidy up custom rules.
871 1999-11-04 John Dallaway <jld@cygnus.co.uk>
875 Output custom rule dependency information to .deps files in
876 the current directory.
878 Dispense with the need to create a 'src' sub-directory.
880 1999-11-01 Jonathan Larmour <jlarmour@cygnus.co.uk>
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
886 1999-10-29 Simon FitzMaurice <sdf@cygnus.co.uk>
890 Use fgrep instead of grep in custom rules. The latter seems
891 to behave weirdly under win32.
893 1999-10-27 Gary Thomas <gthomas@cygnus.co.uk>
895 * src/arm_stub.c: Fix typo (CYGDAT_CYGMON_ENABLE). Also need
896 to include <pkgconf/cygmon.h>
898 1999-10-27 Gary Thomas <gthomas@cygnus.co.uk>
900 * src/arm_stub.c: Add explicit enable for CygMon package.
902 1999-10-27 Hugo Tyson <hmt@cygnus.co.uk>
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
910 1999-10-26 Hugo Tyson <hmt@cygnus.co.uk>
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
916 1999-10-26 John Dallaway <jld@cygnus.co.uk>
920 Invoke 'sh' version of 'mkdir' explicitly in custom rules.
922 1999-10-26 Jesper Skov <jskov@cygnus.co.uk>
924 * src/vectors.S: Cleaned up LED code a bit.
926 1999-10-25 Gary Thomas <gthomas@cygnus.co.uk>
928 * src/hal_misc.c (exception_handler): If building for CygMon, defer
929 exception processing to it, not here.
931 * src/arm_stub.c (__install_breakpoints, __clear_breakpoints):
932 Leave out these [dummy] functions if building CygMon.
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.
938 * src/vectors.S: Reorder context restore so stack changes are
939 protected (interrupts off).
941 1999-10-26 Jesper Skov <jskov@cygnus.co.uk>
943 * src/arm.ld: Added support for merging RODATA sections into DATA
944 * include/hal_io.h: Added BE support.
946 * src/vectors.S (LED): Added definition for PID board.
948 1999-10-26 John Dallaway <jld@cygnus.co.uk>
952 Modify custom make rules to specify file paths relative
953 to the package version directory.
955 1999-10-22 Hugo Tyson <hmt@cygnus.co.uk>
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.
961 1999-10-21 Jonathan Larmour <jlarmour@cygnus.co.uk>
963 * include/hal_arch.h: Tidy a bit so the breakpoint instruction is only
965 Change thumb breakpoint instruction to 0xbebe
967 1999-10-18 John Dallaway <jld@cygnus.co.uk>
971 Add cdl_option CYGHWR_THUMB.
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.
977 1999-10-11 Jesper Skov <jskov@cygnus.co.uk>
979 * src/vectors.S (reset_vector): Always execute PLATFORM_SETUP1.
981 1999-10-10 Gary Thomas <gthomas@cygnus.co.uk>
983 * include/pkgconf/hal_arm.h:
985 * src/arm_stub.c: Add thread debug support via Multi-ICE.
987 1999-10-08 Jonathan Larmour <jlarmour@cygnus.co.uk>
989 * src/arm.ld (SECTION_bss): Make *(.bss*) rather than just .bss, to
990 cater for nickc's BSS gc improvements.
992 1999-10-06 Jesper Skov <jskov@cygnus.co.uk>
994 * include/basetype.h: Set endian to BE if required.
996 1999-10-05 Jesper Skov <jskov@cygnus.co.uk>
998 * src/arm.ld: Force output format to BE if required.
1000 1999-09-30 Jesper Skov <jskov@cygnus.co.uk>
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
1006 * src/arm_stub.c (target_thumb_ins): Corrected branch offsets.
1008 1999-09-23 Gary Thomas <gthomas@cygnus.co.uk>
1010 * src/vectors.S (call_exception_handler): Change on 09-19 messed up
1011 status register wrt breakpoints, single stepping, etc.
1013 1999-09-21 Gary Thomas <gthomas@cygnus.co.uk>
1015 * include/hal_arch.h: Remove FIXME about GDB register layout.
1017 * src/context.S (hal_thread_save_context): Change function prologue
1018 to match APCS more closely (keeps GDB happier).
1020 1999-09-19 Gary Thomas <gthomas@cygnus.co.uk>
1022 * src/vectors.S (spurious_IRQ): Make sure interrupts are masked
1023 when switching to IRQ mode.
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.
1029 1999-09-16 Jesper Skov <jskov@cygnus.co.uk>
1031 * src/arm.ld: Handle thumb glue sections.
1033 1999-09-16 Jesper Skov <jskov@cygnus.co.uk>
1035 * src/vectors.S: Always include thumb exception support.
1037 1999-09-15 Jesper Skov <jskov@cygnus.co.uk>
1039 * src/context.S: Don't trash r0 which holds the thread's initial
1042 * include/hal_arch.h:
1044 Added thumb-aware GDB interrupt functions.
1046 1999-09-14 Jesper Skov <jskov@cygnus.co.uk>
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.
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.
1058 1999-09-10 Jesper Skov <jskov@cygnus.co.uk>
1060 * src/arm_stub.c (target_thumb_ins): BL is a double instruction.
1062 1999-09-13 Gary Thomas <gthomas@cygnus.co.uk>
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
1069 1999-09-11 Jonathan Larmour <jlarmour@cygnus.co.uk>
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
1075 1999-09-10 Jesper Skov <jskov@cygnus.co.uk>
1077 * src/vectors.S (start): Moved stub vector changeover to after
1080 1999-09-09 Jesper Skov <jskov@cygnus.co.uk>
1082 * include/hal_arch.h (HAL_BREAKPOINT):
1085 Added thumb stub support (except C-c support).
1087 1999-08-24 Gary Thomas <gthomas@cygnus.co.uk>
1089 * src/vectors.S: Fix misc THUMB procedures.
1091 1999-08-24 Hugo Tyson <hmt@masala.cygnus.co.uk>
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.
1099 1999-08-24 Jesper Skov <jskov@cygnus.co.uk>
1101 * src/vectors.S (LED): Check XBUS setting jumper and behave
1104 1999-08-23 Jesper Skov <jskov@cygnus.co.uk>
1107 (target_ins): Check whether branches execute.
1108 (ins_will_execute): Fixed HI and LS.
1110 1999-08-13 John Dallaway <jld@cygnus.co.uk>
1112 * cdl/hal_arm.cdl: Add path to CYGBLD_LINKER_SCRIPT value.
1114 1999-08-12 John Dallaway <jld@cygnus.co.uk>
1116 * cdl/hal_arm.cdl: Define CYGBLD_LINKER_SCRIPT.
1118 1999-08-12 Jesper Skov <jskov@cygnus.co.uk>
1120 * include/hal_io.h: Include plf_io.h when appropriate.
1122 1999-08-06 Jesper Skov <jskov@cygnus.co.uk>
1124 * src/vectors.S (handle_IRQ_or_FIQ): Moved setup of register_frame
1125 argument to just before the interrupt_end call.
1127 1999-07-28 Hugo Tyson <hmt@cygnus.co.uk>
1129 * src/vectors.S (_eCos_id): Remove bogus version string.
1131 1999-07-26 Hugo Tyson <hmt@cygnus.co.uk>
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
1139 1999-07-23 Hugo Tyson <hmt@cygnus.co.uk>
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.
1149 1999-07-21 Hugo Tyson <hmt@cygnus.co.uk>
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,
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.
1161 1999-07-19 Hugo Tyson <hmt@cygnus.co.uk>
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
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.
1173 1999-07-15 Hugo Tyson <hmt@cygnus.co.uk>
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
1180 1999-07-14 Hugo Tyson <hmt@cygnus.co.uk>
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...
1190 1999-06-22 Gary Thomas <gthomas@cygnus.co.uk>
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.
1197 1999-06-16 Gary Thomas <gthomas@cygnus.co.uk>
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.
1203 1999-06-15 Gary Thomas <gthomas@cygnus.co.uk>
1205 * src/vectors.S (vectors): Some boards have an MMU, but the
1206 reset vector needs to have an unmapped address!
1208 1999-06-09 Gary Thomas <gthomas@cygnus.co.uk>
1210 * src/vectors.S (reset_vector): Streamline ROM/STUBS code.
1212 1999-05-25 Gary Thomas <gthomas@cygnus.co.uk>
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
1219 * include/hal_intr.h: Update interrupt support macros for
1222 * src/context.S: Add initial pure-thumb mode support.
1224 1999-05-21 Hugo Tyson <hmt@cygnus.co.uk>
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.
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.
1234 1999-05-19 Gary Thomas <gthomas@cygnus.co.uk>
1236 * src/arm.ld: Change symbols to match new no-underscore ABI.
1238 1999-05-19 Gary Thomas <gthomas@cygnus.co.uk>
1240 * include/hal_intr.h: Define interrupt support functions for
1243 1999-05-16 Gary Thomas <gthomas@cygnus.co.uk>
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).
1249 1999-05-13 Hugo Tyson <hmt@cygnus.co.uk>
1251 * include/hal_arch.h (HAL_THREAD_INIT_CONTEXT): Align stack
1252 (rather conservatively) before use.
1254 1999-05-11 Gary Thomas <gthomas@cygnus.co.uk>
1256 * src/vectors.S: No separate interrupt stack if no kernel.
1258 1999-05-10 Gary Thomas <gthomas@cygnus.co.uk>
1261 * src/hal_mk_defs.c:
1262 * include/hal_arch.h: Fix up machine states, initialize stacks.
1264 1999-04-28 Bart Veer <bartv@cygnus.co.uk>
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.
1271 1999-04-25 Gary Thomas <gthomas@cygnus.co.uk>
1273 * src/vectors.S: Fix use of 'RAISE_INTR' which cannot be used in 'mov'
1274 instruction (doesn't fit). PR 19906
1276 1999-04-23 John Dallaway <jld@cygnus.co.uk>
1278 * src/PKGconf.mak: Avoid backslash in grep search pattern to
1279 workaround PR 19923.
1281 1999-04-15 Jonathan Larmour <jlarmour@cygnus.co.uk>
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
1288 1999-04-14 Jonathan Larmour <jlarmour@cygnus.co.uk>
1290 * src/PKGconf.mak (EXTRAS): Don't generate extras.o here any more
1291 But do define EXTRAS every time for the linker script
1293 1999-04-13 Gary Thomas <gthomas@cygnus.co.uk>
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.
1301 1999-04-09 Jesper Skov <jskov@cygnus.co.uk>
1304 Moved get_register and put_register to hal_stub.c.
1306 1999-04-08 John Dallaway <jld@cygnus.co.uk>
1308 * src/*.ld: Revised SECTION_* macro arguments to
1309 avoid padded output sections (PR 19787)
1311 1999-03-22 Jonathan Larmour <jlarmour@cygnus.co.uk>
1313 * include/arm_stub.h: Update copyright
1315 * src/arm_stub.c: Update copyright
1317 1999-03-22 Hugo Tyson <hmt@cygnus.co.uk>
1319 * include/hal_arch.h:
1320 Use CYGNUM_HAL_STACK_SIZE_TYPICAL for the stack size instead of
1321 CYGNUM_HAL_MINIMUM_STACK_SIZE.
1323 1999-03-16 Gary Thomas <gthomas@cygnus.co.uk>
1325 * src/hal_misc.c: Change how breakpoint is described (just a long).
1327 * src/vectors.S: Pass registers to ISR for GDB break support.
1329 1999-03-17 John Dallaway <jld@cygnus.co.uk>
1331 * src/PKGconf.mak: Remove dependence on echo '-e' switch.
1333 1999-03-12 Gary Thomas <gthomas@cygnus.co.uk>
1335 * include/hal_arch.h: Add definition of 'CYGNUM_HAL_MINIMUM_STACK_SIZE'
1337 1999-03-11 Gary Thomas <gthomas@cygnus.co.uk>
1339 * include/pkgconf/hal_arm.h: Fix comment (name was incorrect)
1341 1999-03-10 Jesper Skov <jskov@cygnus.co.uk>
1343 * include/hal_intr.h (HAL_INTERRUPT_ATTACH): Added.
1345 1999-03-09 Gary Thomas <gthomas@cygnus.co.uk>
1347 * src/hal_misc.c: Move declaration of __CTOR_LIST__ to avoid warning.
1349 1999-03-09 Gary Thomas <gthomas@cygnus.co.uk>
1351 * src/vectors.S: Remove warning on stack size redefine.
1353 1999-03-08 Gary Thomas <gthomas@cygnus.co.uk>
1355 * src/vectors.S: Override default stack size on AEB.
1357 1999-03-05 Gary Thomas <gthomas@cygnus.co.uk>
1360 * include/pkgconf/hal_arm.h: DOn't print exception info if GDB stubs enabled.
1363 * src/arm.ld: Clean up I/O package changes.
1365 1999-03-04 Jonathan Larmour <jlarmour@cygnus.co.uk>
1368 Unconditionalize use of libextras.a and add libextras.a to GROUP()
1370 1999-03-04 Gary Thomas <gthomas@cygnus.co.uk>
1372 These changes merged from 'ecos-new_devs-19990216-branch'
1374 (1999-02-18 Gary Thomas <gthomas@cygnus.co.uk>)
1376 * src/PKGconf.mak (DRIVERS):
1377 * src/arm.ld: Support special linking requirements for I/O drivers.
1379 (1999-02-16 Gary Thomas <gthomas@cygnus.co.uk>)
1381 * src/arm.ld: Changes for new I/O [device drivers] subsystem.
1383 1999-02-26 Gary Thomas <gthomas@cygnus.co.uk>
1385 * src/vectors.S: Add separate interrupt stack handling.
1387 Fix memory region layouts for AEB allowing better error detection.
1389 1999-02-25 Nick Garnett <nickg@cygnus.co.uk>
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.
1396 1999-02-20 Jonathan Larmour <jlarmour@cygnus.co.uk>
1398 * include/hal_arch.h:
1399 Rename deliver_exception -> cyg_hal_deliver_exception
1402 * include/hal_intr.h:
1403 Reorganise vector/interrupt/exception names according to purpose
1406 * arch/current/src/hal_misc.c:
1407 Rename deliver_exception -> cyg_hal_deliver_exception
1408 Rename vectors due to hal_intr.h changes
1411 * arch/current/src/hal_mk_defs.c:
1412 * arch/current/src/vectors.S
1413 Rename vectors due to hal_intr.h changes
1416 1999-02-16 Jesper Skov <jskov@cygnus.co.uk>
1418 * src/vectors.S: Changed set_debug_traps to initialize_stub.
1421 * include/arm_stub.h:
1422 Cleaned up to only include arch specific stub code.
1424 1999-02-16 Gary Thomas <gthomas@cygnus.co.uk>
1426 * src/arm.ld: Changes for new I/O [device drivers] subsystem.
1428 1999-02-10 Gary Thomas <gthomas@cygnus.co.uk>
1430 * src/hal_misc.c (hal_default_isr): Add diagnostic message for PR 19145-19147
1432 1999-02-05 John Dallaway <jld@cygnus.co.uk>
1434 * src/arm.ld: Add LMA_EQ_VMA macro definition.
1436 1999-02-04 Gary Thomas <gthomas@cygnus.co.uk>
1438 * src/vectors.S: Use symbolic 'raise interrupt' instead of hard coded value.
1439 Better GDB stubs stack handling.
1441 * src/hal_mk_defs.c: Add symbolic symbol for 'raise interrupt' instrumentation.
1443 1999-02-03 Gary Thomas <gthomas@cygnus.co.uk>
1445 * src/hal_misc.c (cyg_hal_invoke_constructors):
1446 * src/vectors.S (start): Use C coded 'cyg_hal_invoke_constructors()'
1448 * src/hal_misc.c (exception_handler): Remove debug message ...oops!
1450 * include/hal_arch.h (HAL_SET_GDB_REGISTERS): Restore PSR.
1452 * src/vectors.S: Use separate stack for GDB stubs exception handlers.
1454 1999-02-01 Gary Thomas <gthomas@cygnus.co.uk>
1456 * src/hal_misc.c: Need <pkgconf/hal_arm.h> for 'dump exception' option.
1458 * src/vectors.S: Fix ROM startup machine initialization.
1460 1999-01-25 Gary Thomas <gthomas@cygnus.co.uk>
1462 * src/arm.ld: Add Copyright
1464 1999-01-25 Jesper Skov <jskov@cygnus.co.uk>
1466 * src/arm_stub.c (__build_t_packet): Rewrote fix me text. Added PR
1467 number, but otherwise left the note.
1469 1999-01-21 Gary Thomas <gthomas@cygnus.co.uk>
1471 * src/arm_stub.c (ins_will_execute): Computation of LS/HI
1474 1999-01-20 Gary Thomas <gthomas@cygnus.co.uk>
1476 * src/arm.ld: Change "etext" to "__etext".
1478 1999-01-19 Gary Thomas <gthomas@cygnus.co.uk>
1480 * src/vectors.S: Rework exception handlers.
1481 (start): Fix for new startup type (STUBS)
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.
1487 1999-01-18 Gary Thomas <gthomas@cygnus.co.uk>
1489 * include/pkgconf/hal_arm.h: Add configurations for GDB stubs/normal ROM.
1491 * src/arm.ld: Include HAL/ARM specifics.
1493 * include/pkgconf/hal_arm.h:
1495 * src/vectors.S: Add configure option 'CYGHWR_HAL_ARM_DUMP_EXCEPTIONS'
1496 which is used to chose whether to print diagnostic exception dumps
1499 1999-01-15 Gary Thomas <gthomas@cygnus.co.uk>
1501 * src/hal_misc.c: Clean up warnings
1503 * include/hal_arch.h:
1504 * include/hal_intr.h: Add function prototypes to avoid warnings.
1506 * src/arm.ld: Add definition of _stext. Take out
1507 GLOBAL_OFFSET_TABLE.
1509 1999-01-14 Gary Thomas <gthomas@cygnus.co.uk>
1511 * src/PKGconf.mak: Set up for MLT based linker scripts.
1513 * src/arm.ld: New file
1515 * include/hal_intr.h (HAL_QUERY_INTERRUPTS): Test was backwards
1517 1999-01-13 Gary Thomas <gthomas@cygnus.co.uk>
1519 * include/hal_intr.h (HAL_TRANSLATE_VECTOR): Add new macro
1521 1999-01-12 Gary Thomas <gthomas@cygnus.co.uk>
1523 * include/basetype.h (CYG_DOUBLE_BYTEORDER): Define ordering
1524 of words within doubles.
1526 1999-01-05 Gary Thomas <gthomas@cygnus.co.uk>
1528 * src/vectors.S: Force AEB-1 memory configuration.
1530 1998-12-16 Gary Thomas <gthomas@cygnus.co.uk>
1532 * src/arm_stub.c (ins_will_execute): Fix warning.
1534 * include/hal_intr.h: Add <hal/hal_platform_ints.h>
1535 for platform specifics.
1537 1998-12-15 Gary Thomas <gthomas@cygnus.co.uk>
1539 * src/hal_mk_defs.c:
1541 * src/vectors.S: Changes to support kernel-less configuration.
1542 (___gccmain): Add new dummy function.
1544 * src/hal_misc.c: Merge in platform independent code from
1545 old "pid/.../hal_misc.c"
1547 1998-12-15 Jesper Skov <jskov@cygnus.co.uk>
1549 * include/hal_arch.h: Changed HAL_JMP_BUF_SIZE to
1550 CYGARC_JMP_BUF_SIZE.
1552 1998-12-14 Gary Thomas <gthomas@cygnus.co.uk>
1554 * src/hal_misc.c (exception_handler): Change config option
1555 to be consistent "CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS"
1557 * include/hal_arch.h (HAL_THREAD_INIT_CONTEXT): Set initial
1558 PC for GDB thread info.
1560 * src/arm_stub.c (__build_t_packet): Fix thread id's which
1561 must be send to GDB in big-endian.
1563 1998-12-10 Jesper Skov <jskov@cygnus.co.uk>
1565 * include/hal_cache.h (HAL_DCACHE_UNLOCK_ALL,
1566 HAL_ICACHE_UNLOCK_ALL): Added.
1568 1998-12-09 Gary Thomas <gthomas@cygnus.co.uk>
1570 * src/vectors.S (abort_prefetch): Clean up all exception
1571 handlers (some were just broken).
1573 * src/hal_misc.c (exception_handler): Improved exception
1574 handling for GDB stubs while accessing memory.
1576 1998-12-04 Gary Thomas <gthomas@cygnus.co.uk>
1578 * src/arm_stub.c (target_ins): Finish single step support.
1580 1998-12-03 Gary Thomas <gthomas@cygnus.co.uk>
1582 * src/vectors.S (_name): Add undefined instruction handling
1583 (for breakpoint/single step support). Plus some rework and
1586 * src/arm_stub.c (single_step):
1587 * include/hal_arch.h (HAL_BREAKPOINT): Make breakpoint use
1588 an illegal instruction rather than SWI.
1590 1998-12-02 Gary Thomas <gthomas@cygnus.co.uk>
1592 * src/arm_stub.c (ins_will_execute): Take out debug messages
1594 * include/pkgconf/hal_arm.h: New file
1596 * include/arm_stub.h: Add PSR register definitions
1598 * src/arm_stub.c (single_step): Support single stepping
1600 1998-12-01 Gary Thomas <gthomas@cygnus.co.uk>
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)
1606 1998-11-26 Gary Thomas <gthomas@cygnus.co.uk>
1608 * src/vectors.S (_vectors): Rework to handle SWI exception
1609 Changes to make GDB stubs work.
1611 * src/hal_misc.c (exception_handler):
1612 Save registers in global "_hal_registers"
1614 * src/PKGconf.mak (COMPILE): Add arm_stub.c
1616 * include/hal_io.h: Need to include <pkgconf/kernel.h>
1618 * include/hal_arch.h (HAL_THREAD_INIT_CONTEXT):
1619 Clean up stack usage - no need for 56 byte padding (PPC holdover)
1621 (HAL_GET_GDB_REGISTERS):
1622 (HAL_SET_GDB_REGISTERS): Clean up for working stubs
1624 * src/arm_stub.c: New file, GDB stubs support
1626 1998-11-18 Gary Thomas <gthomas@cygnus.co.uk>
1628 * src/hal_mk_defs.c: Add define for 'HAL_SavedRegisters'
1630 * include/hal_arch.h: cleanup comments
1632 * include/basetype.h: cleanup comments
1634 * src/vectors.S: Improved interrupt stack handling.
1636 * include/hal_intr.h: Add support for interrupt latency
1637 measurement, controlled by CYGVAR_KERNEL_COUNTERS_CLOCK_LATENCY.
1639 1998-10-16 Bart Veer <bartv@cygnus.co.uk>
1641 * src/vectors.S (__interrupt_stack):
1642 Made the interrupt stack size configurable.
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.
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.
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.
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.
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.
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.
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 //===========================================================================