summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/shared (follow)
Commit message (Collapse)AuthorAgeFilesLines
* dummy_printk_support.c: Comment clean upJoel Sherrill2014-04-221-6/+9
|
* score: SMP initialization changesSebastian Huber2014-04-141-1/+10
| | | | | | | | | | | | | | | | | Add and use _CPU_SMP_Start_processor(). Add and use _CPU_SMP_Finalize_initialization(). This makes most _CPU_SMP_Initialize() functions a bit simpler since we can calculate the minimum value of the count of processors requested by the application configuration and the count of physically or virtually available processors in the high-level code. The CPU port has now the ability to signal a processor start failure. With the support for clustered/partitioned scheduling the presence of particular processors can be configured to be optional or mandatory. There will be a fatal error only in case mandatory processors are not present. The CPU port may use a timeout to monitor the start of a processor.
* Change all references of rtems.com to rtems.org.Chris Johns2014-03-2156-56/+56
|
* libchip: Relax buffer counts and add fatal errorRalf Kirchner2014-03-141-1/+4
|
* rtems: Add RTEMS_INTERRUPT_REPLACESebastian Huber2014-03-061-27/+54
| | | | | | | | | | | | | | | | | | | | | A new option RTEMS_INTERRUPT_REPLACE is introduced that permits updating the first interrupt handler for the registered interrupt vector and matching argument. If no match is found, the install function fails with RTEMS_UNSATISFIED. The Interrupt Manager Extension offers interrupt handlers with an argument pointer. It is impossible to update two words (handler and argument) atomically on most architectures. In order to avoid an SMP lock in bsp_interrupt_handler_dispatch() which would degrade the interrupt response time an alternative must be provided that makes it possible to tear-down interrupt sources without an SMP lock. Add RTEMS_INTERRUPT_REPLACE option to Interrupt Manager Extension. This enables a clean tear-down of interrupt sources on SMP configurations. Instead of an interrupt handler removal a replacement handler can be installed to silence an interrupt source. This can be used in contexts that allow no sophisticated synchronization (e.g. in atexit() or fatal handlers).
* bsps: SMP support for generic interrupt supportSebastian Huber2014-03-062-18/+59
|
* bsps: Delete LEON3_FATAL_CPU_COUNTER_INITSebastian Huber2014-02-281-2/+1
|
* bsps: Fix empty interrupt handler entrySebastian Huber2014-02-281-4/+5
| | | | | The vector number of spurious interrupts was wrong after the interrupt handler removal on SMP configurations.
* bsps: Add empty cache managerSebastian Huber2014-02-241-0/+1
| | | | | This is necessary to add tests that use the cache manager. For example to get better estimates of worst-case timings.
* score: Delete bsp_smp_broadcast_interrupt()Sebastian Huber2014-02-191-15/+1
| | | | | | Since the per-CPU SMP lock must be acquired and released to send the message a single interrupt broadcast operations offers no benefits. If synchronization is required, then a SMP barrier must be used anyway.
* score: Rename bsp_smp_initialize()Sebastian Huber2014-02-191-1/+1
| | | | | Rename bsp_smp_initialize() into _CPU_SMP_Initialize() since every CPU port must supply this function.
* bsp/leon3: Add and use fatal codesSebastian Huber2014-02-191-0/+2
|
* score: Add RTEMS_FATAL_SOURCE_BSPSebastian Huber2014-02-196-65/+127
| | | | | | Merge RTEMS_FATAL_SOURCE_BSP_GENERIC and RTEMS_FATAL_SOURCE_BSP_SPECIFIC into new fatal source RTEMS_FATAL_SOURCE_BSP. This makes it easier to figure out the code position given a fatal source and code.
* powerpc: Change interrupt disable implemetationSebastian Huber2014-02-191-8/+0
| | | | | | | | | | | | Instead of SPRG0 (= special purpose register 272) use the new global symbol _PPC_INTERRUPT_DISABLE_MASK to store the interrupt disable mask. The benefit is that it is now possible to disable interrupts without further run-time initialization in boot_card(). At least on Freescale e500 cores this leads also to a faster execution since the mfmsr and mfspr instruction require four cycles to complete. The instructions to load the mask value can execute while the mfmsr is in progress.
* score: Add CPU counter supportSebastian Huber2014-02-142-0/+50
| | | | | | | | | Add a CPU counter interface to allow access to a free-running counter. It is useful to measure short time intervals. This can be used for example to enable profiling of critical low-level functions. Add two busy wait functions rtems_counter_delay_ticks() and rtems_counter_delay_nanoseconds() implemented via the CPU counter.
* bsps: Delete unused bsp_smp_delay()Sebastian Huber2014-02-051-4/+0
|
* bootcard.c: Comment clean upJoel Sherrill2014-01-311-5/+5
|
* shared vmeUniverse: Improve DoxygenSzkocsovszki Zsolt2014-01-0822-60/+311
|
* Filesystem: Use default kqfilter and poll handlerSebastian Huber2013-12-201-0/+2
|
* Filesystem: Add readv/writev handlersSebastian Huber2013-12-201-1/+3
| | | | | | | | | The readv() and writev() support was implemented in terms of multiple calls to the read and write handlers. This imposes a problem on device files which use an IO vector as single request entity. For example a low-level network device (e.g. BPF(4)) may use an IO vector to create one frame from multiple protocol layers each with its own IO vector entry.
* doxygen: refactored doxygen in libbsp to illustrate new rule setDaniel Ramirez2013-12-095-11/+18
|
* doxygen: refactored doxygen in libbsp/arm/lpc32xxDaniel Ramirez2013-11-293-16/+2
| | | | | | | | This patch refactors a lot of the existing doxygen within libbsp/arm/lpc32xx. Much of this refactoring was just renaming of existing groups to conform to a more consistent naming structure. With the addition of a doxygen header for tm27.h, all files within lpc32xx belong to doxygen group now. lpc32xx should be used a reference for adding doxygen to other bsps.
* raspberrypi doxygen refactoringDaniel Ramirez2013-11-271-25/+30
|
* bsps: Add simple console output charSebastian Huber2013-10-271-0/+46
|
* Shared MMU initialization for ARM BSPs and RaspberryPi MMU supportHesham AL-Matary2013-10-031-0/+25
| | | | | | | Add support for MMU initialization for RaspberryPi. Introduce new shared MMU configuration table that can be used by other BSPs that call the arm_cp15_start_setup_translation_table_and_enable_mmu_and_cache function. Demonstrate the use of the generic table with RaspberryPi.
* libbsp/shared/bspinit.c: Fix missing prototype warningsJoel Sherrill2013-09-221-3/+7
|
* bsps: Fix header includesSebastian Huber2013-08-272-9/+5
|
* bsps: Add and use CLOCK_DRIVER_ISRS_PER_TICK_VALUEJoel Sherrill2013-08-261-1/+1
| | | | | | | pc386 set CLOCK_DRIVER_ISRS_PER_TICK to a string rather than a numeric value. Add CLOCK_DRIVER_ISRS_PER_TICK_VALUE and other clean up on the clock driver.
* bsps: Fix clock driver definesSebastian Huber2013-08-141-1/+1
|
* bsp: Fix CLOCK_DRIVER_USE_FAST_IDLE and CLOCK_DRIVER_ISRS_PER_TICK.Chris Johns2013-08-141-6/+6
| | | | | Use the value rather than being defined. This allows inverted logic to be used.
* bsps: Include missing <rtems/score/heapimpl.h>Sebastian Huber2013-07-261-1/+2
|
* score: Create object implementation headerSebastian Huber2013-07-261-0/+1
| | | | | | Move implementation specific parts of object.h and object.inl into new header file objectimpl.h. The object.h contains now only the application visible API.
* Include missing <rtems/score/threaddispatch.h>Sebastian Huber2013-07-261-2/+2
|
* score: Merge sysstate API into one fileSebastian Huber2013-07-242-0/+2
|
* smp: Add and use _CPU_SMP_Send_interrupt()Sebastian Huber2013-07-171-3/+1
| | | | Delete bsp_smp_interrupt_cpu().
* smp: Add and use _CPU_SMP_Get_current_processor()Sebastian Huber2013-07-171-2/+3
| | | | | | | | | | Add and use _SMP_Get_current_processor() and rtems_smp_get_current_processor(). Delete bsp_smp_interrupt_cpu(). Change type of current processor index from int to uint32_t to match _SMP_Processor_count type.
* bsps/serial: Move bsp_console_select() declarationSebastian Huber2013-07-172-9/+1
|
* bsps: Use rtems_task_self()Sebastian Huber2013-07-161-1/+1
|
* bsps: Simplify bsp_generic_fatal() declarationSebastian Huber2013-07-111-8/+2
|
* libbsp/shared/generic-fatal.h: Add RTEMS_COMPILER_NO_RETURN_ATTRIBUTE to bsp_fJoel Sherrill2013-07-101-0/+7
|
* mouse: Add shared bsp_get_serial_mouse_device()Sebastian Huber2013-07-071-0/+26
|
* bsps: Delete bspreset_fatal.cSebastian Huber2013-06-241-15/+0
| | | | Use bspreset_loop.c instead. This avoids infinite recursion.
* bsps: Use CONSOLE_DEVICE_NAMESebastian Huber2013-06-211-1/+2
|
* bsps: Remove debug output in shared console driverSebastian Huber2013-06-211-4/+0
|
* bsps: Do not use printk() in shared console driverSebastian Huber2013-06-211-4/+0
|
* bsps: Add fatal errors for shared console driverSebastian Huber2013-06-213-16/+19
|
* bsps: Move bsp_generic_fatal_code to new fileSebastian Huber2013-06-213-16/+46
| | | | Add bsp_generic_fatal().
* bsps: Provide simple console selectionSebastian Huber2013-06-171-0/+22
|
* bsps: Add missing includeSebastian Huber2013-06-171-0/+2
|
* score: Remove idle field of Per_CPU_ControlSebastian Huber2013-05-311-2/+5
| | | | | | This field is unused except for special case simulator clock drivers. In these places use an alternative. Add and use _Thread_Set_global_exit_status() and _Thread_Get_global_exit_status().