2003-08-05 Till Strauman PR 437/bsps * irq/irc.c: calls to bspIo/printk must not use '%i' format which is apparently not supported * pci/pci.c: calls to bspIo/printk must not use '%i' format which is apparently not supported 2003-07-18 Till Straumann PR 288/rtems * irq/irq_asm.S, startup/bspstart.c: _ISR_Nest_level is now properly maintained and any BSP which does not do so will trip a panic in the shared code. 2003-07-18 Till Straumann PR 415/bsps * pci/detect_raven_bridge.c, startup/bspstart.c: This patch reverts enabling MCP interrupts for the motorola_powerpc BSPs. REASON: pci config space scanning (as e.g. done by the DEC Ethernet driver) would raise machine check exceptions. 2003-07-16 Greg Menke PR 428/bsps PR 432/bsps * bootloader/pci.c: Re-instated code that prevents remapping small IO regions, which if remapped would cause i8259 registers to move out from under the #define'd base addresses. * startup/bspstart.c: Reduced BAT2 PCI memory allocation to 256 megs, I incorrectly had extended it which would cause problems with PCI devices that defined prefetchable memory. 2003-07-16 Greg Menke PR 432/bsps * bootloader/pci.c: Re-instated code that prevents remapping small IO regions, which if remapped would cause i8259 registers to move out from under the #define'd base addresses. * startup/bspstart.c: Reduced BAT2 PCI memory allocation to 256 megs, I incorrectly had extended it which would cause problems with PCI devices that defined prefetchable memory. 2003-06-13 Greg Menke PR 405/bsps * bootloader/pci.c: Added support for configuring devices for pci busses > 0 * pci/pci.c, pci/pci.h: Added FixupPCI() to store vectors in the INTERRUPT_LINE register of pci devices any # of hops away from the host processor. * motorola/motorola.c, motorola/motorola.h: Added interrupt routing tables in support of FixupPCI. This is board-specific, each board will have to supply information for FixupPCI() to do anything for it. * startup/bspstart.c: Extended bat2 to cover entire PCI address space. * irq/irq.c, irq/irq.h: Added support for shared interrupts. Existing single hander vectors are undisturbed, a new function added to allow adding/removing handlers from a vector. 2003-06-13 Till Straumann PR 415/bsps * include/bsp.h, pci/detect_raven_bridge.c, startup/bspstart.c: Support enabling MCP exceptions on the host bridge. This can be used for memory probing on the VME bus. 2003-04-15 Joel Sherrill PR 386/bsps * vme/vmeconfig.c: Removed declaration of _BSP_vme_bridge_irq. 2003-04-10 Till Straumann PR 379/bsps * console/polled_io.c: libcpu provides 'printk' already. Therefore, the implementation in this file was removed (still used for the bootloader, though). It now provides BSP_output_char() for libcpu's printk(). * console/uart.c, console/uart.h: BSP_output_char_via_serial() prototype changed to match the BSP_output_char_function_type. Note that the motorola BSPs use polled-io for the output_char routine, not the uart.c version. The latter can be used be other BSPs however (e.g. SVGM). * console/console.c, console/consoleIo.h, console/polled_io.c, irq/irq_init.c, openpic/openpic.c, pci/detect_raven_bridge.c: Unfortunately, the supported 'printk' format string subset of the polled-io and libcpu implementations are different - hence, a few format strings in the ppc/shared BSP were changed. 2003-04-10 Joel Sherrill PR 383/bsps * irq/irq.c: Fix bug introduced by conflicts in previous patches. 2003-03-25 Till Straumann PR 360/bsps * irq/irq.c, irq/irq_init.c, openpic/openpic.c, openpic/openpic.h: BSP code had set the task priority register multiple times of the OpenPIC instead of setting the individual source priorities. This patch adds openpic_get_source_priority() and openpic_set_source_priority() calls and lets IRQ management code use them. 2003-03-25 Till Straumann PR 349/bsps * irq/irq.c, vme/VME.h, vme/vmeconfig.c: Fixes library dependency on the vmeUniverse driver. It is now possible to use the ppc/shared/irq code on non-VME BSPs without triggering linkage of the vmeUniverse driver. 2003-03-25 Till Straumann PR 349/bsps * irq/irq.c, vme/VME.h, vme/vmeconfig.c: Fixes library dependency on the vmeUniverse driver. It is now possible to use the ppc/shared/irq code on non-VME BSPs without triggering linkage of the vmeUniverse driver. 2003-03-18 Till Straumann PR 356/bsps This patch makes RTEMS/powerpc/shared EABI compliant. * irq/irq_init.c, start/Makefile.am, start/start.S, startup/bspstart.c, startup/pgtbl_setup.c, vectors/vectors.h, vectors/vectors_init.c: zero_bss() should clear not only bss but sbss and sbss2 also (this is probably a bugfix, as sbss/sbss2 are probably used even if -msdata=eabi is not specified). * start/rtems_crti.S: New file which must be linked immediately after ecrti.o. rtems_crti.o contains a code snippet who lets __init() return immediately. Also, a new entry point '_init' to the C++ Ctors is generated for use by the RTEMS Thread_Handler. 2003-02-20 Till Straumann PR 349/bsps * console/polled_io.c, console/reboot.c, irq/irq.c, irq/irq_asm.S, irq/irq_init.c, openpic/Makefile.am, startup/linkcmds, vectors/vectors.S, vectors/vectors_init.c: - install the 'openpic.h' and 'pci.h' headers - avoid a name clash by renaming 'vsprintf' & friends to 'k_vsprintf' etc. - let 'rtemsReboot' print a stack trace (in case an 'assert' failed) - irq.c: * fix: remove implicit assumption that ISA interrupt vectors start at 0 * add BSP hook to let a VME interrupt acknowledge the PCI/openpic IRQ. (SEE ALSO THE ppc-sharedbsp-vme.diff patch) - fix: EABI compliance; isr/exception lowlevel handlers must not clobber R2 or R13 - fix: openpic_init was called with the polarity/senses tables swapped (fixed wrong order of arguments) - cosmetics: use new _read_SPRXX() _write_SPRXX() macros 2003-02-20 Till Straumann PR 349/bsps * startup/pgtbl_setup.c, startup/pgtbl_activate.c: New files * startup/Makefile.am, startup/bspstart.c, startup/linkcmds: Let the powerpc/shared (+derived) BSPs use pagetable support from libcpu. 2003-02-20 Till Straumann PR 349/bsps * vme/.cvsignore, vme/Makefile.am, vme/VME.h, vme/VMEConfig.h, vme/vmeconfig.c: Add glue to the powerpc/shared BSP to use the vmeUniverse VME-PCI bridge driver. 2003-02-20 Till Straumann PR 349/bsps * console/console.c, console/uart.c, console/uart.h: implement IOCTLs for the serial (UART) console to install/retrieve a BREAK-IRQ callback. The callback routine (if installed) is invoked from the UART ISR when a BREAK interrupt is detected. This can be used e.g. to enforce a "hotkey" reboot a la vxWorks Ctrl-X (although we use the serial line break condition) NOTE: The callback runs in ISR context. 2003-01-20 Joel Sherrill * startup/linkcmds*: Add FreeBSD sysctl() sections. 2002-12-08 Greg Menke * bootloader/head.S: Added support for optional debug via PPCbug. Also turn off mmu/caches for the bootstrap phase, which seems to cause trouble with the 603. The cpu init functions in the bsp get all that stuff going properly. 2002-12-19 Joel Sherrill * console/console.c: Removed __assert() which conflicts with newlib. 2002-11-17 Greg Menke * irq/irq_init.c, motorola/motorola.c: Support for MTX603e. 2002-10-31 Joel Sherrill * bootloader/em86.c, console/inch.c, console/polled_io.c, irq/irq.c, motorola/motorola.c, pci/detect_raven_bridge.c, vectors/vectors_init.c: Removed warnings. 2002-07-25 Ralf Corsepius * bootloader/em86real.S: Fix syntax error in comment near line 1185. 2001-05-14 Till Straumann * bootloader/misc.c, console/Makefile.am, console/console.c, console/consoleIo.h, console/inch.c, console/polled_io.c, console/uart.c, console/uart.h, include/bsp.h, irq/Makefile.am, irq/irq.c, irq/irq.h, irq/irq_init.c, openpic/openpic.c, openpic/openpic.h, pci/Makefile.am, pci/pci.c, pci/pci.h, residual/Makefile.am, start/start.S, startup/bspstart.c, vectors/vectors.S, vectors/vectors.h, vectors/vectors_init.c: Per PR216, "libbsp/powerpc/shared" BSP has been modified considerably with the goal to make it more flexible and reusable by other BSPs. The main strategies were: - eliminate hardcoded base addresses; devices use offsets and a BSP defined base address. - separate functionality into different files (e.g. reboot from inch.c to reboot.c) which can be overridden by a 'derived' BSP. - separate initialization code into separate files (e.g. PCI bridge detection/initialization was separated from the more generic PCI access routines), also to make it easier for 'derived' BSPs to substitute their own initialization code. There are also a couple of enhancements and fixes: - IRQ handling code now has a hook for attaching a VME bridge. - OpenPIC is now explicitely initialized (polarities, senses). Eliminated the implicit assumption on the presence of an ISA PIC. - UART and console driver now supports more than 1 port. The current maximum of 2 can easily be extended by enlarging a table (it would even be easier if the ISR API was not broken by design). - fixed polled_io.c so it correctly supports console on COM2 - fixed TLB invalidation code (start.S). - exception handler prints a stack backtrace. - added BSP_pciFindDevice() to scan the pci bus for a particular vendor/device/instance. 2001-05-09 Joel Sherrill * startup/linkcmds: In support of gcc 3.1, added one of more of the sections .jcr, .rodata*, .data.*, .gnu.linkonce.s2.*, .gnu.linkonce.sb2.*, and .gnu.linkonce.s.*. Spacing corrections and direction of segments to memory regions may also have been addressed. This was a sweep across all BSPs. 2002-04-18 Ralf Corsepius * bootloader/exception.S: Reflect changes to . * bootloader/head.S: Ditto. * bootloader/misc.c: Ditto. * console/polled_io.c: Ditto. * irq/irq.c: Ditto. * irq/irq_asm.S: Ditto. * irq/irq_init.c: Include . * start/start.S: Reflect changes to . * vectors/vectors.S: Ditto. 2002-04-16 Ralf Corsepius * startup/bspstart.c: Include . 2001-04-08 Joel Sherrill * startup/linkcmds: Per PR170, PR171, and PR172 add .eh_frame 2002-04-02 Ralf Corsepius * residual/residual.c: Include . * vectors/vectors_init.c: Include for printk. * bootloader/mm.c: Ditto. * bootloader/pci.c: Ditto. * console/console.c: Ditto. * openpic/openpic.c: Ditto. 2002-03-27 Ralf Corsepius * bootloader/Makefile.am: Remove AUTOMAKE_OPTIONS. * Makefile.am: Remove AUTOMAKE_OPTIONS. * clock/Makefile.am: Remove AUTOMAKE_OPTIONS. * console/Makefile.am: Remove AUTOMAKE_OPTIONS. * include/Makefile.am: Remove AUTOMAKE_OPTIONS. * irq/Makefile.am: Remove AUTOMAKE_OPTIONS. * motorola/Makefile.am: Remove AUTOMAKE_OPTIONS. * openpic/Makefile.am: Remove AUTOMAKE_OPTIONS. * pci/Makefile.am: Remove AUTOMAKE_OPTIONS. * residual/Makefile.am: Remove AUTOMAKE_OPTIONS. * start/Makefile.am: Remove AUTOMAKE_OPTIONS. * startup/Makefile.am: Remove AUTOMAKE_OPTIONS. * vectors/Makefile.am: Remove AUTOMAKE_OPTIONS. 2001-11-28 Ralf Corsepius * include/Makefile.am: Use _HEADER instead of H_FILES. * irq/Makefile.am: Ditto. * openpic/Makefile.am: Ditto. * include/bsp.h: Include . 2001-10-25 Joel Sherrill * startup/linkcmds: Added _init and _fini. 2001-10-12 Joel Sherrill * clock/p_clock.c, startup/bspstart.c: Fixed typo. 2001-09-27 Ralf Corsepius * console/Makefile.am: Use 'PREINSTALL_FILES ='. * residual/Makefile.am: Use 'PREINSTALL_FILES ='. * irq/Makefile.am: Use 'PREINSTALL_FILES ='. * motorola/Makefile.am: Use 'PREINSTALL_FILES ='. * vectors/Makefile.am: Use 'PREINSTALL_FILES ='. * pci/Makefile.am: Use 'PREINSTALL_FILES ='. * openpic/Makefile.am: Use 'PREINSTALL_FILES ='. 2001-05-14 Tom Armistead * start/start.S: Increased BAT0 mapping of RAM from 64 meg to 256 meg to allow operation on boards with larger RAM sizes. * vectors/vectors_init.c: Modified to call 'generic' powerpc vector function (mpc60x_vector_is_valid) instead of MPC750 specific function to allow operation on boards with CPUs other than the MPC750. 2001-03-30 Eric Valette * Makefile.am, console/consoleIo.h, include/bsp.h: These modifications are part of the conversion of the mpc8xx CPU to the "new exception processing model." 2000-11-01 Joel Sherrill * startup/bspstart.c: assoc.h, error.h, libio_.h, libio.h, and libcsupport.h moved from libc to lib/include/rtems and now must be referenced as . Header file order was cleaned up while doing this. 2000-09-29 Charles-Antoine Gauthier * startup/linkcmds: Added lines so DWARF debug information would be available. Otherwise gdb complains that the offsets for the debug info are incorrect and doesn't load the files. 2000-09-05 Joel Sherrill * start/start.S: Include proper files to compile. 2000-08-10 Joel Sherrill * ChangeLog: New file.