summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/sparc/leon2/include/bsp.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Remove make preinstallChris Johns2018-01-251-220/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A speciality of the RTEMS build system was the make preinstall step. It copied header files from arbitrary locations into the build tree. The header files were included via the -Bsome/build/tree/path GCC command line option. This has at least seven problems: * The make preinstall step itself needs time and disk space. * Errors in header files show up in the build tree copy. This makes it hard for editors to open the right file to fix the error. * There is no clear relationship between source and build tree header files. This makes an audit of the build process difficult. * The visibility of all header files in the build tree makes it difficult to enforce API barriers. For example it is discouraged to use BSP-specifics in the cpukit. * An introduction of a new build system is difficult. * Include paths specified by the -B option are system headers. This may suppress warnings. * The parallel build had sporadic failures on some hosts. This patch removes the make preinstall step. All installed header files are moved to dedicated include directories in the source tree. Let @RTEMS_CPU@ be the target architecture, e.g. arm, powerpc, sparc, etc. Let @RTEMS_BSP_FAMILIY@ be a BSP family base directory, e.g. erc32, imx, qoriq, etc. The new cpukit include directories are: * cpukit/include * cpukit/score/cpu/@RTEMS_CPU@/include * cpukit/libnetworking The new BSP include directories are: * bsps/include * bsps/@RTEMS_CPU@/include * bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILIY@/include There are build tree include directories for generated files. The include directory order favours the most general header file, e.g. it is not possible to override general header files via the include path order. The "bootstrap -p" option was removed. The new "bootstrap -H" option should be used to regenerate the "headers.am" files. Update #3254.
* sparc: Remove BSP specifics from <pci/irq.h>Sebastian Huber2018-01-021-7/+0
| | | | | | Update #3254. Update #3260. Update #3269.
* sparc/leon2: Remove include of <rtems/console.h> from <bsp.h> and fix warningsJoel Sherrill2016-03-291-1/+0
|
* sparc/leon2/include/bsp.h: Do not include <rtems/clockdrv.h>Joel Sherrill2016-03-271-1/+0
|
* bsps: Call bsp_work_area_initialize() earlySebastian Huber2015-12-101-7/+0
| | | | | | | | Call bsp_work_area_initialize() before bsp_start(). This allows bsp_start() to use malloc() etc. which is beneficial for systems with a plug-and-play hardware enumeration. Update #2408.
* Most bsp.h: Switch to LIBBSP_@CPU@_@BSP_FAMILY@_H for guardJoel Sherrill2015-07-161-2/+2
| | | | | | | | | | | | | | | | | This was done by the following script run from libbsp: find * -name bsp.h | xargs -e grep -l "#ifndef.*_BSP_H" | while read b do echo $b cpu=`echo $b | cut -d'/' -f1 | tr '[:lower:]' '[:upper:]' ` bsp=`echo $b | cut -d'/' -f2 | tr '[:lower:]' '[:upper:]' ` g="LIBBSP_${cpu}_${bsp}_BSP_H" # echo $g sed -e "s/ifndef _BSP_H/ifndef ${g}/" \ -e "s/define _BSP_H/define ${g}/" \ -i $b done
* LEON: added new drivers to the LEON2/LEON3 BSPsDaniel Hellstrom2015-04-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Most drivers use the Driver Manager for device probing, they work on AMBA-over-PCI systems if PCI is big-endian. New APIs: * GPIO Library, interfaced to GRGPIO * GENIRQ, Generic interrupt service implementation helper New GRLIB Drivers: * ACTEL 1553 RT, user interface is similar to 1553 BRM driver * GR1553 (1553 BC, RT and BM core) * AHBSTAT (AHB error status core) * GRADCDAC (Core interfacing to ADC/DAC hardware) * GRGPIO (GPIO port accessed from GPIO Library) * MCTRL (Memory controller settings configuration) * GRETH (10/100/1000 Ethernet driver using Driver manager) * GRPWM (Pulse Width Modulation core) * SPICTRL (SPI master interface) * GRSPW_ROUTER (SpaceWire Router AMBA configuration interface) * GRCTM (SpaceCraft on-board Time Management core) * SPWCUC (Time distribution over SpaceWire) * GRTC (SpaceCraft up-link Tele core) * GRTM (SpaceCraft down-link Tele Metry core) GR712RC ASIC specific interfaces: * GRASCS * CANMUX (select between OCCAN and SATCAN) * SATCAN * SLINK
* LEON: GPTIMER driver, Timer Library and System Clock for LEON3Daniel Hellstrom2015-04-171-0/+1
| | | | | | | | | | | | | | | | | | | | With this patch the LEON family can access the GRLIB GPTIMER using the Timer library (TLIB). A System Clock driver instead of BSP/clock/ck_init.c is provided using the TLIB. The classic clock driver is split in two parts, clock driver and timer driver. The BSPs need only to fullfill the timer interface instead of the clock interface. Currently only LEON3 uses it. The LEON2 Timer is not ported to TLIB. The GPTIMER driver is implemented using the Driver Manager, so the System Clock Driver is at this point only suitable for LEON3 when the driver manager is initialized during BSP startup. When the DrvMgr is not initialized during startup the standard BSP/clock dirver is used. LEON2 sometimes also needs to access GPTIMER when a off-chip GRLIB AMBA systems is connected, for example AMBA-over-PCI.
* LEON2: implemented AMBA Bus Driver for Driver ManagerDaniel Hellstrom2015-04-171-0/+7
|
* sparc BSPs: implemented libpci IRQ BSP supportDaniel Hellstrom2015-04-171-0/+10
|
* bsp/sparc: Move BSP_ISR_handler to a separate file and rename itDaniel Cederman2015-02-111-0/+3
| | | | | | | This allows it to be wrapped by another function at link-time and can be used to trace interrupts. If not placed in a separate file, the function pointer address used in BSP_shared_interrupt_init will be resolved at compile-time, and the function will not be wrappable.
* bsps: Move extern "C" to not cover includesSebastian Huber2014-10-231-4/+4
| | | | Some includes may use C++ and this conflicts if surrounded extern "C".
* sparc/leon2/include/bsp.h: Fix warningsJoel Sherrill2014-10-191-1/+7
|
* sparc/leon2: Fix warningsJoel Sherrill2014-10-131-1/+5
|
* SPARC: add BSP specific error handlerDaniel Hellstrom2014-10-061-0/+2
| | | | | | | | Instead of calling the system call TA instruction directly it is better paractise to isolate the trap implementation to the system call functions. BSP_fatal_exit() is added.
* SPARC BSPs: remove BSP_fatal_return unreached codeDaniel Hellstrom2014-10-061-2/+0
|
* bsps/sparc: Change tabs to spaces.Daniel Cederman2014-05-271-1/+1
|
* bsps/sparc: Make lines in SPARC BSPs adhere to 80 character limit.Daniel Cederman2014-05-271-2/+2
|
* Change all references of rtems.com to rtems.org.Chris Johns2014-03-211-1/+1
|
* doxygen: refactored doxygen in libbsp to illustrate new rule setDaniel Ramirez2013-12-091-3/+12
|
* sparc shared: improve doxygenToma Radu2013-12-071-3/+4
| | | | Add doxygen to the header files in sparc/shared/include directory.
* leon2_doxygen_1Radu2013-12-021-0/+7
|
* bsps: Use RTEMS_BSP_CLEANUP_OPTIONSSebastian Huber2012-11-251-2/+0
|
* bsps: Interrupt initialization error is fatalSebastian Huber2012-11-151-1/+1
|
* score: Add RTEMS_FATAL_SOURCE_EXITSebastian Huber2012-11-151-2/+3
| | | | | | | Include <bsp/default-initial-extension.h> in all BSPs. Call rtems_fatal() with RTEMS_FATAL_SOURCE_EXIT as source and the exit() status code as fatal code in every bsp_cleanup(). Move previous bsp_cleanup() code into bsp_fatal_extension().
* bsps/sparc: Add BSP_INITIAL_EXTENSION to <bsp.h>Sebastian Huber2012-11-131-0/+2
| | | | The bsp_fatal_extension() will call BSP_fatal_return().
* score: Work area initialization API changeSebastian Huber2012-10-251-2/+2
| | | | | | | | | | | | The work areas (RTEMS work space and C program heap) will be initialized now in a separate step and are no longer part of rtems_initialize_data_structures(). Initialization is performed with tables of Heap_Area entries. This allows usage of scattered memory areas present on various small scale micro-controllers. The sbrk() support API changes also. The bsp_sbrk_init() must now deal with a minimum size for the first memory chunk to take the configured work space size into account.
* SPARC BSPs: implemented shared-irq using libbsp/shared layerDaniel Hellstrom2012-04-061-0/+74
| | | | | | | | | | | | | | | The implementation use IRQ number instead of vector number since some IRQs does not have a unique vector, for example the extended interrupts all enter the same trap vector entry. Added support for the LEON3 extended interrupt controller when using the shared IRQ layer. ERC32 patches untested. Signed-off-by: Daniel Hellstrom <daniel@gaisler.com> Regenerate
* SPARC: bsp_early_malloc() routine for startup memory allocationDaniel Hellstrom2012-03-291-2/+7
| | | | | | | | | | | | If bsp_early_malloc() is called early during boot room will be allocated after BSS END. If the function is called after boot is will call malloc() instead. The returned memory is not freeable and always 8-byte aligned. If the bsp_early_malloc() isn't called the function is not dragged in and the workspace will be unmodified in size. Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
* GRETH: added support for non-snooping GRETH 10/100 systemsDaniel Hellstrom2012-03-271-0/+4
| | | | | | | | | | | | | | | | | | When data cache snooping is not present the cache needs flushing, the SPARC LEON CPUs does not have to ability to flush individual cache rows and flushing all cache is expensive. Instead the LDA instruction is used to force cache miss on individual loads during the IP-align copy operation required anyway. GRETH GBIT non-snooping systems are still unsupported, since it use zero-copy (can deal with unaligned DMA). Let the bsp.h select if the GRETH driver is supported. Currently only the LEON2/LEON3 platforms BSPs builds the driver. Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
* SMC91111: ERC32 was never supported by driverDaniel Hellstrom2012-03-211-0/+2
| | | | | | | | | Moved the intelligence whether the driver is supported or not completely to the BSP, now that bsp.h is included (even though it is a driver... hmm). The ERC32 was never supported, so HAS_SMC91111 is not added to erc32/include/bsp.h. Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
* 2011-04-25 Jennifer Averett <jennifer.averett@OARcorp.com>Joel Sherrill2011-04-251-8/+0
| | | | | | PR 1783/bsps * include/bsp.h: Remove dead prototypes of Clock_delay() and delay(). Neither had bodies.
* Whitespace removal.Ralf Corsepius2009-11-291-5/+5
|
* 2009-08-19 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill2009-08-191-12/+14
| | | | | | | * Makefile.am, include/bsp.h, startup/setvec.c: Split idle method into its own file. Properly note to confdefs.h that this BSP has its own idle thread. * startup/bspidle.c: New file.
* 2008-09-10 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2008-09-101-4/+0
| | | | | | * include/bsp.h: Review of all bsp_cleanup() implementations. In this phase, all prototypes were removed from bsp.h and empty implementations were removed and made to use the shared stub.
* 2007-12-11 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill2007-12-111-2/+0
| | | | | | * clock/ckinit.c, include/bsp.h: Eliminate copies of the Configuration Table. Use the RTEMS provided accessor macros to obtain configuration fields.
* 2007-12-04 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill2007-12-041-3/+0
| | | | | | * include/bsp.h: Move interrupt_stack_size field from CPU Table to Configuration Table. Eliminate CPU Table from all ports. Delete references to CPU Table in all forms.
* 2007-09-05 Daniel Hellstrom <daniel@gaisler.com>Joel Sherrill2007-09-061-0/+2
| | | | | | | | * include/bsp.h: LEON2 and LEON3 Data cache snooping detection on startup, for drivers. (LEON2,3 are configurable processors, they can be with or without DCache snooping. Caches without snooping needs the drivers to flush cache or use the sparc instruction lda to force cache miss...)
* 2007-09-05 Daniel Hellstrom <daniel@gaisler.com>Joel Sherrill2007-09-051-0/+3
| | | | | * include/bsp.h: This patch prepares bsp.h so that shared code (new drivers) can easily have small small sections of BSP specific code.
* 2007-05-09 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill2007-05-091-2/+0
| | | | | | * console/debugputs.c, include/bsp.h, leon_smc91111/leon_smc91111.c, startup/spurious.c: Remove debug print methods that are redundant with prntk and replace their use with printk.
* 2007-03-10 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2007-03-101-11/+0
| | | | | | PR 1227/bsps * include/bsp.h: Remove MAX_LONG_TEST_DURATION and MAX_SHORT_TEST_DURATION. They are obsolete and unused.
* Backport from rtems-4-6-branch.Ralf Corsepius2006-01-091-0/+124