* Makefile.am:
moved VME.h from libbsp/powerpc/shared/vme to
libbsp/shared/vmeUniverse; eventually, this (and other)
VME API headers should migrate to cpukit.
* Makefile.am:
moved VME.h from libbsp/powerpc/shared/vme to
libbsp/shared/vmeUniverse; eventually, this (and other)
VME API headers should migrate to cpukit.
the special handling of a 'FPGA interrupt' [this FPGA is *not*
present on the uC5282 module but is externally connected to
IRQ1 on Eric Norum's particular 'motherboard'] is only
activated when connecting to the special vectors > 192.
The change allows us ordinary users [:-)] to use IRQ1
normally, simply by connecting an ISR to vector 64+1...
Also, BSP_enable_irq_at_pic(), BSP_disable_irq_at_pic(),
BSP_irq_is_enabled_at_pic() were introduced (compat. with
some PPC BSPs).
* shared/vme/vmeconfig.c, shared/vme/vme_universe.c:
use symbolic flag instead of numerical value
(vmeUniverseInstallIrqMgrAlt()). Define __INSIDE_RTEMS_BSP__
before including <bsp/vmeUniverse.h>
flags for 2eSST and DBW16.
* vmeUniverse/vmeUniverse.h: Removed AM definitions and include vme_am_defs.h
instead. Declare new routine vmeUniverseMapCRG(). Export 'irq manager' API
only if __INSIDE_RTEMS_BSP__ defined. Renamed 'shared' argument to
vmeUniverseInstallIrqMgrAlt() to 'flags' since now more options are available.
Added new flag to install 'posted-write' workaround.
* vmeUniverse/vmeUniverse.c: Allow BSP to override BSP_PCI2LOCAL_ADDR()
macro. Data width of outbound port can now be restricted to 16-bit
(if new DBW16 flag set in address modifier). Added vmeUniverseMapCRG()
for mapping local registers onto VME. Interrupt manager now implements
a workaround (enabled at installation time) which flushes the write-fifo
after user ISR returns. This requires the universe's registers to be
accessible from VME (either CSR space or CRG mapped to A16/A24/A32),
though.
* vmeUniverse/vmeTsi148.h: vmeTsi148ClearVMEBusErrors() now returns
the fault address as a 32-bit address (not ulonglong anymore). The
driver only supports 32-bit addresses. Declare new routine vmeTsi148MapCRG().
Export 'irq manager' API only if __INSIDE_RTEMS_BSP__ defined.
Renamed 'shared' argument to vmeTsi148InstallIrqMgrAlt() to 'flags'
to allow more options to be supported. Added comments explaining the
'posted-write' workaround implemented by the interrupt manager.
* vmeUniverse/vmeTsi148.c: Clear 'SYSFAIL' during initialization.
Allow BSP to override BSP_PCI2LOCAL_ADDR() macro. Added support for
2eSST when configuring windows (untested - I have no 2eSST).
Added vmeTsi148MapCRG() for mapping local registers onto VME.
Implemented 'posted-write' workaround for interrupt manager
(consult source for details).
PR 1189/bsps
* console/outch.c: If you print a character with the code larger than
127 (extended ASCII) to the VGA console, then it blinks. The reason:
char == signed char, so such characters get represented by negative
numbers. The sign bit then goes to attribute byte, resulting in the
blinking.
* clock_driver_stub.c, clockdrv_shell.c: Use common clock driver
template and eliminate all fast idle code specific to this BSP. This
eliminates a fair amount of code in the BSP clock driver and
bsp_startup. The LEON3 has to do a scan of the AMBA bus to find the
timer so I added the new hook Clock_driver_support_find_timer to
support this. In general, there was some clean up to the file headers
of various files.
* shared/bspstart.c, shared/start.S: Use common clock driver template
and eliminate all fast idle code specific to this BSP. This
eliminates a fair amount of code in the BSP clock driver and
bsp_startup. The LEON3 has to do a scan of the AMBA bus to find the
timer so I added the new hook Clock_driver_support_find_timer to
support this. In general, there was some clean up to the file headers
of various files.
* clock/ckinit.c, startup/bspstart.c: Use common clock driver template
and eliminate all fast idle code specific to this BSP. This
eliminates a fair amount of code in the BSP clock driver and
bsp_startup. The LEON3 has to do a scan of the AMBA bus to find the
timer so I added the new hook Clock_driver_support_find_timer to
support this. In general, there was some clean up to the file headers
of various files.
* clock/ckinit.c: Use common clock driver template and eliminate all
fast idle code specific to this BSP. This eliminates a fair amount of
code in the BSP clock driver and bsp_startup. The LEON3 has to do a
scan of the AMBA bus to find the timer so I added the new hook
Clock_driver_support_find_timer to support this. In general, there
was some clean up to the file headers of various files.
* clock/ckinit.c, console/console.c: Use common clock driver template
and eliminate all fast idle code specific to this BSP. This
eliminates a fair amount of code in the BSP clock driver and
bsp_startup. The LEON3 has to do a scan of the AMBA bus to find the
timer so I added the new hook Clock_driver_support_find_timer to
support this. In general, there was some clean up to the file headers
of various files.