2003-12-02 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* 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 <joel@OARcorp.com>
PR 510/bsps
* irq/irq.h: Add extern C wrapper.
2003-09-29 Till Strauman <strauman@slac.stanford.edu>
PR 497/bsps
* bootloader/head.S: Disable code that returned to the firmware when
the loader starts.
2003-09-26 Till Strauman <strauman@slac.stanford.edu>
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 <strauman@slac.stanford.edu>
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 <joel@OARcorp.com>
* 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 <strauman@slac.stanford.edu>
PR 456/bsps
* irq/irq.c: Fix race condition when installing an ISR.
2003-08-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* 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 <strauman@slac.stanford.edu>
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 <strauman@slac.stanford.edu>
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 <strauman@slac.stanford.edu>
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 <gregory.menke@gsfc.nasa.gov>
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 <gregory.menke@gsfc.nasa.gov>
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 <gregory.menke@gsfc.nasa.gov>
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 <strauman@slac.stanford.edu>
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 <joel@OARcorp.com>
PR 386/bsps
* vme/vmeconfig.c: Removed declaration of _BSP_vme_bridge_irq.
2003-04-10 Till Straumann <strauman@slac.stanford.edu>
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 <joel@OARcorp.com>
PR 383/bsps
* irq/irq.c: Fix bug introduced by conflicts in previous patches.
2003-03-25 Till Straumann <strauman@slac.stanford.edu>
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 <strauman@slac.stanford.edu>
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 <strauman@slac.stanford.edu>
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 <strauman@slac.stanford.edu>
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 <strauman@slac.stanford.edu>
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 <strauman@slac.stanford.edu>
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 <strauman@slac.stanford.edu>
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 <strauman@slac.stanford.edu>
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 <joel@OARcorp.com>
* startup/linkcmds*: Add FreeBSD sysctl() sections.
2002-12-08 Greg Menke <gregory.menke@gsfc.nasa.gov>
* 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 <joel@OARcorp.com>
* console/console.c: Removed __assert() which conflicts with newlib.
2002-11-17 Greg Menke <gregory.menke@gsfc.nasa.gov>
* irq/irq_init.c, motorola/motorola.c: Support for MTX603e.
2002-10-31 Joel Sherrill <joel@OARcorp.com>
* 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 <corsepiu@faw.uni-ulm.de>
* bootloader/em86real.S: Fix syntax error in comment near line 1185.
2001-05-14 Till Straumann <strauman@slac.stanford.edu>
* 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 <joel@OARcorp.com>
* 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 <corsepiu@faw.uni-ulm.de>
* bootloader/exception.S: Reflect changes to <rtems/score/cpu.h>.
* 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 <rtems/bspIo.h>.
* start/start.S: Reflect changes to <rtems/score/cpu.h>.
* vectors/vectors.S: Ditto.
2002-04-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* startup/bspstart.c: Include <libcpu/cpuIdent.h>.
2001-04-08 Joel Sherrill <joel@OARcorp.com>
* startup/linkcmds: Per PR170, PR171, and PR172 add .eh_frame
2002-04-02 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* residual/residual.c: Include <string.h>.
* vectors/vectors_init.c: Include <rtems/bspIo.h> for printk.
* bootloader/mm.c: Ditto.
* bootloader/pci.c: Ditto.
* console/console.c: Ditto.
* openpic/openpic.c: Ditto.
2002-03-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* 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 <corsepiu@faw.uni-ulm.de>
* include/Makefile.am: Use _HEADER instead of H_FILES.
* irq/Makefile.am: Ditto.
* openpic/Makefile.am: Ditto.
* include/bsp.h: Include <bspopts.h>.
2001-10-25 Joel Sherrill <joel@OARcorp.com>
* startup/linkcmds: Added _init and _fini.
2001-10-12 Joel Sherrill <joel@OARcorp.com>
* clock/p_clock.c, startup/bspstart.c: Fixed typo.
2001-09-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* 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 <tom_armistead@phx.mcd.mot.com>
* 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 <valette@crf.canon.fr>
* 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 <joel@OARcorp.com>
* 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 <rtems/XXX.h>. Header file order
was cleaned up while doing this.
2000-09-29 Charles-Antoine Gauthier <charles.gauthier@nrc.ca>
* 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 <joel@OARcorp.com>
* start/start.S: Include proper files to compile.
2000-08-10 Joel Sherrill <joel@OARcorp.com>
* ChangeLog: New file.