2003-11-01 Greg Menke PR 606/bsps * bootloader/pci.c: Fixed IO remapping so buses >= 1 are remapped. Reduced PCI space to match bat2. Fixed incorrect region size calculation in pci_read_bases. Set PCI latency timers to known sane values. Changed bridge PCI settings to minimum sane instead of whatever sounded neat in the PCI spec. Force pf regions to memory mapped to preserve byte access. 2004-04-09 Greg Menke PR 608/bsps * pci/pcibios.c: Added BusCountPCI() 2004-04-22 Ralf Corsepius * include/bsp.h: Remove (Unused). * Makefile.am: Reflect change above. 2004-04-01 Ralf Corsepius * bootloader/exception.S: Include instead of . * bootloader/head.S: Include instead of . * irq/irq_asm.S: Include instead of . * start/rtems_crti.S: Include instead of . * start/start.S: Include instead of . * vectors/vectors.S: Include instead of . * include/bsp.h: Include instead of . * include/bsp.h: Include instead of . 2004-03-31 Ralf Corsepius * bootloader/misc.c, bootloader/pci.c, console/inch.c, include/bsp.h, pci/pci.c, startup/bspstart.c, startup/sbrk.c: Convert to using c99 fixed size types. 2004-03-05 Joel Sherrill * bootloader/pci.c: Remove warnings by adding include . * irq/irq.c: Clean up includes to remove warnings. * pci/pci.c, pci/pci.h, startup/bspstart.c: Better use of const on struct _int_map. 2004-03-03 Joel Sherrill * vectors/vectors.h, vectors/vectors_init.c: Undo previous change. 2004-02-12 Ralf Corsepius * Makefile.am: Remove startup/linkcmds. 2004-02-10 Ralf Corsepius PR 575/bsps * startup/linkcmds: Remove. 2004-02-08 Joel Sherrill * vectors/vectors.h: Force globalExceptHdl into bss section. 2004-02-04 Ralf Corsepius * Makefile.am: Don't install, just distribute the files. 2004-02-03 Ralf Corsepius * Makefile.am: Remove SUBDIRS. 2004-02-03 Ralf Corsepius * Makefile.am: Merge-in bootloader/Makefile.am, clock/Makefile.am, console/Makefile.am, include/Makefile.am, irq/Makefile.am, motorola/Makefile.am, openpic/Makefile.am, pci/Makefile.am, residual/Makefile.am, start/Makefile.am, startup/Makefile.am, vectors/Makefile.am, vme/Makefile.am. Use automake compilation rules. * bootloader/Makefile.am, clock/Makefile.am, console/Makefile.am, include/Makefile.am, irq/Makefile.am, motorola/Makefile.am, openpic/Makefile.am, pci/Makefile.am, residual/Makefile.am, start/Makefile.am, startup/Makefile.am, vectors/Makefile.am, vme/Makefile.am: Remove. 2004-01-21 Ralf Corsepius * console/Makefile.am: Add PREINSTALL_DIRS. * irq/Makefile.am: Add PREINSTALL_DIRS. * motorola/Makefile.am: Add PREINSTALL_DIRS. * openpic/Makefile.am: Add PREINSTALL_DIRS. * pci/Makefile.am: Add PREINSTALL_DIRS. * residual/Makefile.am: Add PREINSTALL_DIRS. * vectors/Makefile.am: Add PREINSTALL_DIRS. 2004-01-14 Ralf Corsepius * console/Makefile.am: Re-add dirstamps to PRE/TMPINSTALL_FILES. Add PRE/TMPINSTALL_FILES to CLEANFILES. * irq/Makefile.am: Ditto. * motorola/Makefile.am: Ditto. * openpic/Makefile.am: Ditto. * pci/Makefile.am: Ditto. * residual/Makefile.am: Ditto. * vectors/Makefile.am: Ditto. 2003-12-12 Ralf Corsepius * console/Makefile.am: Use mkdir_p. Remove dirs from PRE/TMPINSTALL_FILES. * irq/Makefile.am: Use mkdir_p. Remove dirs from PRE/TMPINSTALL_FILES. * motorola/Makefile.am: Use mkdir_p. Remove dirs from PRE/TMPINSTALL_FILES. * openpic/Makefile.am: Use mkdir_p. Remove dirs from PRE/TMPINSTALL_FILES. * pci/Makefile.am: Use mkdir_p. Remove dirs from PRE/TMPINSTALL_FILES. * residual/Makefile.am: Use mkdir_p. Remove dirs from PRE/TMPINSTALL_FILES. * vectors/Makefile.am: Use mkdir_p. Remove dirs from PRE/TMPINSTALL_FILES. 2003-12-09 Ralf Corsepius * start/Makefile.am: Misc cleanups and fixes. * startup/Makefile.am: Misc cleanups and fixes. 2003-12-02 Ralf Corsepius * start/Makefile.am: Remove empty lines. * bootloader/Makefile.am: Put all files into EXTRA_DIST. * vme/Makefile.am: Ditto. * console/Makefile.am: Move H_FILES to include_bsp_HEADERS. Add preinstallation dirstamp support. * irq/Makefile.am: Ditto. * motorola/Makefile.am: Ditto. * openpic/Makefile.am: Ditto. * pci/Makefile.am: Ditto. * residual/Makefile.am: Ditto. * vectors/Makefile.am: Ditto. * Makefile.am: Remove empty lines. * clock/Makefile.am: Ditto. * include/Makefile.am: Ditto. * startup/Makefile.am: Ditto. 2003-10-22 Joel Sherrill PR 510/bsps * irq/irq.h: Add extern C wrapper. 2003-09-29 Till Strauman PR 497/bsps * bootloader/head.S: Disable code that returned to the firmware when the loader starts. 2003-09-26 Till Strauman PR 496/bsps * startup/sbrk.c: New file. * startup/bspstart.c: This patch implements 'sbrk' for the powerpc-shared BSP to work around what's known as the '32Mb problem' in combination with run-time loaded code. GCC normally generates (PowerPC) code doing 'short jumps' which requires all text segments being in the same 32Mb area of memory. However, some run-time loaders use (e.g. heap-) memory violating the stated limitation on hardware with more than 32Mb of memory. (NOTE: portable loaders are probably not even aware of this GCC/CPU specific problem.) This patch implements a simple workaround: At boot time, the system is only provided with 32Mb of memory. The user is supposed to load all necessary modules prior to that limit being exhausted. Once that happens, newlib/malloc end up trying to 'sbrk()' for more memory and the implementation provided by this patch will then make the rest of the physical memory available. 2003-09-26 Till Straumann PR 497/bsps * bootloader/head.S: Let the bootloader shut down the network interface. NOTE: this involves a PPCBug system call and will hence fail if other software is used to boot. Need to #undef USE_PPCBUG in such cases! 2003-09-04 Joel Sherrill * bootloader/bootldr.h, bootloader/em86.c, bootloader/em86real.S, bootloader/exception.S, bootloader/head.S, bootloader/lib.c, bootloader/misc.c, bootloader/mm.c, bootloader/pci.c, clock/p_clock.c, console/console.c, console/consoleIo.h, console/inch.c, console/keyboard.h, console/polled_io.c, include/bsp.h, irq/i8259.c, irq/irq.c, irq/irq.h, irq/irq_asm.S, irq/irq_init.c, motorola/motorola.c, motorola/motorola.h, openpic/openpic.c, openpic/openpic.h, pci/pci.c, residual/residual.c, start/start.S, startup/bspstart.c, vectors/vectors.h, vectors/vectors_init.c: URL for license changed. 2003-08-21 Till Strauman PR 456/bsps * irq/irq.c: Fix race condition when installing an ISR. 2003-08-16 Ralf Corsepius * Makefile.am: Reflect having moved automake/. * bootloader/Makefile.am: Reflect having moved automake/. * clock/Makefile.am: Reflect having moved automake/. * console/Makefile.am: Reflect having moved automake/. * include/Makefile.am: Reflect having moved automake/. * irq/Makefile.am: Reflect having moved automake/. * motorola/Makefile.am: Reflect having moved automake/. * openpic/Makefile.am: Reflect having moved automake/. * pci/Makefile.am: Reflect having moved automake/. * residual/Makefile.am: Reflect having moved automake/. * start/Makefile.am: Reflect having moved automake/. * startup/Makefile.am: Reflect having moved automake/. * vectors/Makefile.am: Reflect having moved automake/. * vme/Makefile.am: Reflect having moved automake/. 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.