* shared/pci/detect_raven_bridge.c: use ifdef mvme2100
rather than ifdef mpc824x so that we don't depend on
compile-time CPU flavor. Eventually, this should become
a run-time check.
* shared/vme/vmeconfig.c: Include <libcpu/bat.h> only
if the BSP-specific configuration header (VMEConfig.h)
defines BSP_VME_BAT_IDX so that this file can be used
on CPUs w/o bats (e500).
* new-exceptions/raw_exception.c, new-exceptions/raw_exception.h,
old-exception/cpu.c: define bsp_exceptions_in_RAM variable.
This is probably only used by the simulator (were else
can you install something to ROM ??).
* mpc6xx/mmu/bat.c, mpc6xx/mmu/pte121.c: use new
feature-checks from cpuIdent.h rather than filtering
CPU types when checking for availability of high BATs
and an MMU with hardware page-table lookup.
* shared/include/cpuIdent.h, shared/include/cpuIdent.c:
Added a simple 'feature check' facility. Code should
not check for a particular CPU type if possible but
check the respective feature bit (e.g., 'has_altivec').
This makes it much less cumbersome to add more CPU
types in the future.
* shared/startup/pretaskinghook.c: Replaced inclusion of
<bsp/consoleIo.h> by <rtems/bspIo.> (for printk) and
made it conditional on #ifdef SHOW_MORE_INIT_SETTINGS.
* Makefile.am, irq/irq.c: fixed source-tree path of irq_supp.h,
fixed type of 1st arg to C_dispatch_irq_handler() which
is NOT a CPU_Interrupt_frame but a BSP_Exception_frame
(not that it is ever used but the two layouts differ).
* shared/irq/irq.h, shared/irq/irq.c, shared/irq/irq_init.c,
shared/irq/irq_supp.h (added):
Removed 'is_processor_irq()' from irq.c; the BSP routines
BSP_enable_irq_at_pic()/BSP_disable_irq_at_pic() are required
to ignore processor irqs anyways. Removed
all BSP-defined constants from irq.c. This makes irq.c (almost)
binary-compatible among BSPs (ultimate goal is making 'shared'
a library).
Added a header (irq_supp.h) defining the interface between
the generic interrupt manager (irq.c) and the routines it
requires to be supplied by the BSP (eventually, these
should go into rtems/irq.h).
* 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_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.