* irq/irq.h, irq/irq_init.c: Removed the definition
of ASM_IRQ_VECTOR_BASE; this symbol was only use to
initialize the irqBase member of the rtems_irq_global_settings
struct. However, irqBase is an rtems_irq_symbolic_name,
so using BSP_LOWEST_OFFSET is more appropriate.
* irq/irq.h, irq/irq.c (removed), irq/no_pic.c (added),
irq/irq_init.c, Makefile.am: The PSIM BSP (currently)
has no support for an interrupt controller or interrupts
other than the decrementer. Removed all definitions for PCI + ISA
interrupts and all unnecessary code (leftovers from copying).
Separated PIC-specific bits into 'no_pic.c' which allows us
to use 'irq.c' (i.e., more code) from 'shared'.
* startup/linkcmds.c, start/start.S: call __eabi() from start.S
and make sure linkcmds defines _SDA_BASE_ + _SDA2_BASE_ so that
sysv + eabi are properly supported.
* shared/include/grspw.h, shared/spw/grspw.c: GRSPW SpaceWire Driver.
Fixes typecast to volatile integer instead of to integer. Added
scanning for GRSPW2 Core, The GRSPW2 core is run in legacy mode.
* shared/can/occan.c: LEON2/3 OCCAN CAN driver. Fixes typecast to
volatile integer where needed. Fixes bug where closing the driver and
opening it again could make the driver not starting transmission due
to the software fifo was not cleared.
* rasta/rasta.c: LEON2 PCI RASTA driver. Changes RASTA PCI interrupt to
5 from 4. This is to avoid conflict with the LAN9C111 network MAC
driver using interrupt 4.
* shared/can/grcan.c, shared/can/grcan_rasta.c,
shared/include/ambapp.h: GRCAN CAN driver. Fixes Interrupt
enabling/disabling in the driver, interrupt may not be restored
correctly. Implements the baud rate calculation routine. Removed
unnecessary printk. Fixed scanning to support GRCAN and GRHCAN
hardware. Added GRCAN device number to ambapp.h.
* startup/bspstart.c, Makefile.am: Initialize BATs and enable MMU
to come closer to what other BSPs do. This allows us to use the
shared irq_asm.S. No more individual assembly code :-)
* mpc5xx/clock/clock.c, mpc5xx/timer/timer.c, mpc8260/clock/clock.c,
mpc8260/cpm/brg.c, mpc8260/timer/timer.c, mpc8xx/clock/clock.c,
mpc8xx/console-generic/console-generic.c, mpc8xx/timer/timer.c,
new-exceptions/raw_exception.c, old-exceptions/cpu.c,
ppc403/clock/clock.c, ppc403/console/console.c,
ppc403/console/console.c.polled, ppc403/console/console405.c,
ppc403/ictrl/ictrl.c, ppc403/irq/ictrl.c, ppc403/timer/timer.c,
ppc403/tty_drv/tty_drv.c: Eliminate PowerPC specific elements from
the CPU Table. They have been replaced with variables named bsp_XXX
as needed.
* startup/bspstart.c, startup/bspstart.c.nocache: Eliminate PowerPC
specific elements from the CPU Table. They have been replaced with
variables named bsp_XXX as needed.
* clock/clock.c, startup/bspstart.c: Eliminate PowerPC specific
elements from the CPU Table. They have been replaced with variables
named bsp_XXX as needed.
* Makefile.am, shared/flash, shared/flash/flash.c,
shared/flash/flashPgm.h, shared/flash/flashPgmPvt.h,
shared/flash/intelFlash.c, shared/flash/spansionFlash.c:
Added flash programmer API, implementation and chip drivers
for some intel + spansion flash chips (as found on mvme5500,
mvme6100 and mvme3100 boards).
A more appopriate place would probably be libchip but
I don't know if the API is acceptable and if the implementation
is generic enough (e.g., no CFI support) so I leave it here
for now.
* clock/ckinit.c, startup/bspstart.c: Eliminate the
clicks_per_microsecond field in the SuperH CPU Table and define
another mechanism for drivers to obtain this information.
* startup/bspstart.c: Eliminate the clicks_per_microsecond field in the
SuperH CPU Table and define another mechanism for drivers to obtain
this information.
* sh7032/clock/ckinit.c, sh7032/delay/delay.c, sh7032/timer/timer.c,
sh7045/clock/ckinit.c, sh7045/timer/timer.c, sh7750/clock/ckinit.c,
sh7750/timer/timer.c: Eliminate the clicks_per_microsecond field in
the SuperH CPU Table and define another mechanism for drivers to
obtain this information.
* clock/ckinit.c: Eliminate the clicks_per_microsecond field in the
MIPS CPU Table and define another mechanism for drivers to obtain
this information.
* clock/ckinit.c, startup/bspstart.c: Eliminate the
clicks_per_microsecond field in the MIPS CPU Table and define another
mechanism for drivers to obtain this information.
* shared/console/uart.c: when draining UART during
initialization (wait for possible printk() activity
to finish) look at TEMT (fifo, holding-reg and shift-reg)
rather than THRE (fifo, holding-reg only). This resolved
some scrambled output issues for me.
Enhanced semantics: if BSP initializes BSPBaseBaud to a negative
value then the driver interprets the modulus as a speed value
and uses the current setting of the divisor to compute the
clock speed (BSPBaseBaud). This is useful if you have a board
that you know is initialized e.g., to 9600 but you
don't know the clock speed.
* Makefile.am, motorola_powerpc/Makefile.am,
* shared/pci/detect_raven_bridge.c, Makefile.am,
* shared/pci/generic_clear_hberrs.c: separated the generic
version of _BSP_clear_hostbridge_errors() into its own
file.
* shared/src/cache.c: moved generic operations
(flush/invalidate 1 data line, invalidate 1 inst. line)
from #ifdef <cpu_flavor> to general section (all CPUs).