summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/shared (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* 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().
* bsps: Use _Objects_Information_tableSebastian Huber2013-05-311-203/+134
| | | | | | Eliminate copy and paste. Use the _Objects_Information_table since this will take into account that more than one internal thread may exist, e.g. MPCI thread or idle threads of secondary processors.
* smp: Simplify SMP initialization sequenceSebastian Huber2013-05-291-28/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Delete bsp_smp_wait_for(). Other parts of the system work without timeout, e.g. the spinlocks. Using a timeout here does not make the system more robust. Delete bsp_smp_cpu_state and replace it with Per_CPU_State. The Per_CPU_State follows the Score naming conventions. Add _Per_CPU_Change_state() and _Per_CPU_Wait_for_state() functions to change and observe states. Use Per_CPU_State in Per_CPU_Control instead of the anonymous integer. Add _CPU_Processor_event_broadcast() and _CPU_Processor_event_receive() functions provided by the CPU port. Use these functions in _Per_CPU_Change_state() and _Per_CPU_Wait_for_state(). Add prototype for _SMP_Send_message(). Delete RTEMS_BSP_SMP_FIRST_TASK message. The first context switch is now performed in rtems_smp_secondary_cpu_initialize(). Issuing the first context switch in the context of the inter-processor interrupt is not possible on systems with a modern interrupt controller. Such an interrupt controler usually requires a handshake protocol with interrupt acknowledge and end of interrupt signals. A direct context switch in an interrupt handler circumvents the interrupt processing epilogue and may leave the system in an inconsistent state. Release lock in rtems_smp_process_interrupt() even if no message was delivered. This prevents deadlock of the system. Simplify and format _SMP_Send_message(), _SMP_Request_other_cores_to_perform_first_context_switch(), _SMP_Request_other_cores_to_dispatch() and _SMP_Request_other_cores_to_shutdown().
* smp: Delete bsp_smp_secondary_cpu_initialize()Sebastian Huber2013-05-291-4/+0
| | | | | | | Do not call bsp_smp_secondary_cpu_initialize() in rtems_smp_secondary_cpu_initialize(). This allows more flexibilty in the BSP low-level code. Specify context requirements for a call to rtems_smp_secondary_cpu_initialize().
* smp: Simplify main CPU initializationSebastian Huber2013-05-291-3/+1
| | | | | | Call _SMP_Handler_initialize() later and move bsp_smp_initialize() into _SMP_Handler_initialize(). Change bsp_smp_initialize() prototype to match integer types of calling context.
* Add c++ guard to header.Daron Chabot2013-05-161-0/+8
|
* libcsupport: Rename open_dev_console()Sebastian Huber2013-04-261-1/+1
| | | | | Rename open_dev_console() to rtems_libio_post_driver(). Rename rtems_libio_supp_helper to rtems_libio_post_driver_helper.