* bootloader/exception.S: Include <rtems/asm.h> instead of <asm.h>.
* bootloader/head.S: Include <rtems/asm.h> instead of <asm.h>.
* irq/irq_asm.S: Include <rtems/asm.h> instead of <asm.h>.
* start/rtems_crti.S: Include <rtems/asm.h> instead of <asm.h>.
* start/start.S: Include <rtems/asm.h> instead of <asm.h>.
* vectors/vectors.S: Include <rtems/asm.h> instead of <asm.h>.
* include/bsp.h: Include <rtems/clockdrv.h> instead of <clockdrv.h>.
* include/bsp.h: Include <rtems/console.h> instead of <console.h>.
* bootloader/pci.c: Remove warnings by adding include <string.h>.
* 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.
* 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.
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.
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
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.
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.
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.
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.
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.
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.
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.
* 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.
* 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 ='.
Ralf Corsepius <corsepiu@faw.uni-ulm.de> that contain:
* Modifications, (minor) corrections, cleanups to most existing
Makefile.ams
* Adds automake support to all remaining BSPs which have not yet been
converted to automake.
* Makefile.am for all remaining wrapup/Makefile.ams
which converts the PowerPC BSPs to configuration and more automake.
* Besides adding partial automake support, rsp converting all powerpc
BSPs to make them compliant to the new configuration scheme, this patch
attempts to fix several configuration bugs in powerpc related Makefiles.