| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
* score/src/wkstringduplicate.c: New file.
* score/Makefile.am: Reflect change above.
* score/include/rtems/score/wkspace.h: Declare
_Workspace_String_duplicate().
|
|
|
|
|
|
|
|
|
|
| |
* score/src/heapiterate.c, score/src/pheapiterate.c: New files.
* score/Makefile.am: Reflect changes above.
* score/include/rtems/score/heap.h: Declare _Heap_Iterate() and define
Heap_Block_visitor.
* score/include/rtems/score/protectedheap.h: Declare
_Protected_heap_Iterate().
* score/src/heapgetinfo.c: Use _Heap_Iterate().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 1914/cpukit
* score/src/timespecgreaterthan.c, score/src/ts64greaterthan.c:
Removed files.
* score/Makefile.am: Reflect changes above.
* score/include/rtems/score/timespec.h,
score/include/rtems/score/timestamp.h,
score/include/rtems/score/timestamp64.h, score/src/ts64addto.c,
score/src/ts64divide.c, score/src/ts64dividebyinteger.c,
score/src/ts64equalto.c, score/src/ts64getnanoseconds.c,
score/src/ts64getseconds.c, score/src/ts64lessthan.c,
score/src/ts64set.c, score/src/ts64settozero.c,
score/src/ts64subtract.c, score/src/ts64toticks.c,
score/src/ts64totimespec.c: Use CPU_TIMESTAMP_USE_STRUCT_TIMESPEC,
CPU_TIMESTAMP_USE_INT64, and CPU_TIMESTAMP_USE_INT64_INLINE. Removed
copy and paste.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 1906/cpukit
* sapi/Makefile.am, sapi/preinstall.am, sapi/include/confdefs.h,
score/Makefile.am, score/preinstall.am: Add the CBS (Constant
Bandwidth Server) scheduler. This is a complex scheduling policy
built atop of the EDF scheduler. Unlike other schedulers, this one
provides a user API and handles not only deadlines of tasks but also
claimed budget per period. The main aim of the scheduler is isolation
of tasks so that each task is guaranteed to meet all deadlines
regardless of how other tasks behave.
* sapi/include/rtems/cbs.h, sapi/inline/rtems/cbs.inl,
score/include/rtems/score/schedulercbs.h, score/src/schedulercbs.c,
score/src/schedulercbsattachthread.c,
score/src/schedulercbscleanup.c,
score/src/schedulercbscreateserver.c,
score/src/schedulercbsdestroyserver.c,
score/src/schedulercbsdetachthread.c,
score/src/schedulercbsgetapprovedbudget.c,
score/src/schedulercbsgetexecutiontime.c,
score/src/schedulercbsgetparameters.c,
score/src/schedulercbsgetremainingbudget.c,
score/src/schedulercbsgetserverid.c,
score/src/schedulercbsreleasejob.c,
score/src/schedulercbssetparameters.c,
score/src/schedulercbsunblock.c: New files.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 1896/cpukit
* sapi/include/confdefs.h, score/Makefile.am, score/preinstall.am: Add
Earliest Deadline First (EDF) Scheduling Algorithm implementation.
* score/include/rtems/score/scheduleredf.h, score/src/scheduleredf.c,
score/src/scheduleredfallocate.c, score/src/scheduleredfblock.c,
score/src/scheduleredfenqueue.c,
score/src/scheduleredfenqueuefirst.c,
score/src/scheduleredfextract.c, score/src/scheduleredffree.c,
score/src/scheduleredfprioritycompare.c,
score/src/scheduleredfreleasejob.c, score/src/scheduleredfschedule.c,
score/src/scheduleredfunblock.c, score/src/scheduleredfupdate.c,
score/src/scheduleredfyield.c: New files.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 1895/cpukit
* rtems/src/ratemoncancel.c, rtems/src/ratemondelete.c,
rtems/src/ratemonperiod.c, sapi/include/confdefs.h,
score/Makefile.am, score/include/rtems/score/scheduler.h,
score/include/rtems/score/schedulerpriority.h,
score/include/rtems/score/schedulersimple.h,
score/include/rtems/score/schedulersimplesmp.h,
score/inline/rtems/score/scheduler.inl,
score/inline/rtems/score/schedulerpriority.inl,
score/src/coremutexseize.c: Add priority_compare and release_job
hooks interfaces to scheduler interface.
* score/src/schedulerpriorityprioritycompare.c,
score/src/schedulerpriorityreleasejob.c: New files.
|
|
|
|
|
|
|
|
| |
PR 1876
* score/Makefile.am, score/include/rtems/score/isr.h, score/src/isr.c,
score/src/smp.c, score/src/smplock.c, score/src/threaddispatch.c,
score/src/threaddispatchdisablelevel.c: Add smp isr support.
* score/src/isrsmp.c: New file.
|
|
|
|
|
|
|
|
| |
* score/Makefile.am, score/preinstall.am,
score/include/rtems/score/isr.h, score/include/rtems/score/percpu.h:
Split isrlevel into its own file to avoid a circular dependancy in
smp code.
* score/include/rtems/score/isrlevel.h: New file.
|
|
|
|
|
|
| |
* score/Makefile.am, score/include/rtems/score/schedulersimplesmp.h,
score/src/schedulersimplesmptick.c: Build schedulersimplesmptick.c
and fix typos.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 1819/cpukit
* rtems/src/clocktick.c, score/Makefile.am,
score/include/rtems/score/scheduler.h,
score/include/rtems/score/schedulerpriority.h,
score/include/rtems/score/schedulersimple.h,
score/include/rtems/score/schedulersimplesmp.h,
score/include/rtems/score/thread.h,
score/inline/rtems/score/scheduler.inl: Add a scheduler entry point
which is invoked at each clock tick. _Thread_Tickle_timeslice() is
now a method owned by the Deterministic Priority Scheduler and shared
by the Simple Priority Scheduler. The Simple SMP Scheduler has its
own variation on this which does timeslicing bookkeeping on all
cores.
* score/src/schedulerprioritytick.c,
score/src/schedulersimplesmptick.c: New files.
* score/src/threadtickletimeslice.c: Removed.
|
|
|
|
|
|
|
| |
* score/Makefile.am, score/include/rtems/score/thread.h,
score/inline/rtems/score/thread.inl: Add smp support to dispable
dispatch level accesses.
* score/src/threaddispatchdisablelevel.c: New file.
|
|
|
|
| |
* score/Makefile.am: Reformat.
|
|
|
|
|
| |
* score/Makefile.am, score/preinstall.am: bspsmp.h is now supposed to
be installed all the time. Revert part of previous commit.
|
|
|
|
|
|
|
|
|
|
| |
PR 1789/cpukit
* sapi/include/confdefs.h, score/Makefile.am, score/preinstall.am: Add
Simple SMP Priority Scheduler.
* score/include/rtems/score/schedulersimplesmp.h,
score/src/schedulersimplesmpblock.c,
score/src/schedulersimplesmpschedule.c,
score/src/schedulersimplesmpunblock.c: New files.
|
|
|
|
|
| |
* score/Makefile.am, score/include/rtems/score/isr.h: Replace tabs with
spaces.
|
|
|
|
|
|
|
|
| |
* score/Makefile.am, score/preinstall.am,
score/include/rtems/score/percpu.h, score/src/percpu.c,
score/src/threadcreateidle.c: Modifications to restrict compilation
of SMP only code to when SMP is enabled. Entire SMP specific files
are disabled via Makefile.am.
|
|
|
|
|
|
|
|
|
| |
PR 1784
* sapi/src/exinit.c, score/Makefile.am, score/preinstall.am,
score/include/rtems/bspsmp.h, score/src/percpu.c, score/src/smp.c,
score/src/threadcreateidle.c: Split bspsmp.h into two files smp.h and
bspsmp.h
* score/include/rtems/score/smp.h: New file.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 1777/cpukit
* libcsupport/src/malloc_deferred.c, libcsupport/src/realloc.c,
score/Makefile.am, score/cpu/lm32/irq.c, score/cpu/nios2/irq.c,
score/include/rtems/score/coremutex.h,
score/include/rtems/score/thread.h,
score/inline/rtems/score/thread.inl, score/src/heapfree.c,
score/src/pheapwalk.c, score/src/smp.c, score/src/threaddispatch.c:
Consolidated access to _Thread_Dispatch_disable_level.
* score/src/threaddisabledispatch.c, score/src/threadenabledispatch.c:
New files.
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 1641/cpukit
* sapi/Makefile.am, sapi/preinstall.am, score/Makefile.am,
score/preinstall.am: Add Red Black Tree data structure to score.
* sapi/include/rtems/rbtree.h, sapi/inline/rtems/rbtree.inl,
score/include/rtems/score/rbtree.h, score/inline/rtems/score/rbtree.inl,
score/src/rbtree.c, score/src/rbtreeextract.c,
score/src/rbtreefind.c, score/src/rbtreefindheader.c,
score/src/rbtreeget.c, score/src/rbtreeinsert.c,
score/src/rbtreepeek.c: New files.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 1729/cpukit
* configure.ac, sapi/include/confdefs.h, sapi/src/exinit.c,
score/Makefile.am, score/preinstall.am,
score/cpu/i386/rtems/score/cpu.h, score/cpu/sparc/cpu_asm.S,
score/cpu/sparc/rtems/score/cpu.h,
score/include/rtems/score/basedefs.h,
score/include/rtems/score/context.h,
score/include/rtems/score/percpu.h, score/src/percpu.c,
score/src/thread.c, score/src/threadcreateidle.c: Add next step in
SMP support. This adds an allocated array of the Per_CPU structures
to support multiple cpus vs a single instance of the structure which
is still used if SMP support is disabled. Configuration support is
also added to explicitly enable or disable SMP. But SMP can only be
enabled for the CPUs which will support it initially -- SPARC and
i386. With the stub BSP support, a BSP can be run as a single core
SMP system from an RTEMS data structure standpoint.
* aclocal/check-smp.m4, aclocal/enable-smp.m4,
score/include/rtems/bspsmp.h, score/include/rtems/score/smplock.h,
score/src/smp.c, score/src/smplock.c: New files.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 1743/cpu
* sapi/include/confdefs.h, score/Makefile.am, score/preinstall.am: Add
Simple Priority Scheduler as complement to existing Deterministic
Priority Scheduler. This scheduler serves both as an example and as a
lighter weight implementation for smaller systems.
* score/include/rtems/score/schedulersimple.h,
score/inline/rtems/score/schedulersimple.inl,
score/src/schedulersimple.c, score/src/schedulersimpleblock.c,
score/src/schedulersimpleenqueue.c,
score/src/schedulersimpleenqueuefirst.c,
score/src/schedulersimpleextract.c,
score/src/schedulersimplereadyqueueenqueue.c,
score/src/schedulersimplereadyqueueenqueuefirst.c,
score/src/schedulersimpleschedule.c,
score/src/schedulersimpleunblock.c, score/src/schedulersimpleyield.c:
New files.
|
|
|
|
|
|
|
| |
* rtems/src/taskresume.c, score/Makefile.am,
score/include/rtems/score/thread.h: Convert _Thread_Resume and
_Thread_Suspend into macros.
* score/src/threadresume.c, score/src/threadsuspend.c: Removed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sapi/include/confdefs.h, score/Makefile.am,
score/include/rtems/score/scheduler.h,
score/include/rtems/score/schedulerpriority.h,
score/include/rtems/score/thread.h,
score/inline/rtems/score/scheduler.inl,
score/inline/rtems/score/schedulerpriority.inl,
score/src/scheduler.c, score/src/schedulerpriority.c,
score/src/schedulerpriorityblock.c,
score/src/schedulerpriorityschedule.c,
score/src/schedulerpriorityunblock.c,
score/src/schedulerpriorityyield.c, score/src/threadchangepriority.c,
score/src/threadclose.c, score/src/threadinitialize.c,
score/src/threadsetpriority.c, score/src/threadsettransient.c:
Significant clean up on Scheduler Plugin Interface. Names were
shortened. Missing operations added. Many scheduler files had
unneeded includes removed. Made pointer to scheduler information in
Thread_Control and Scheduler_Control a void * pointer because the
thread and scheduler wrapper should be unaware of scheduler types AND
this is broken for user provided schedulers.
* score/src/schedulerpriorityallocate.c,
score/src/schedulerpriorityenqueue.c,
score/src/schedulerpriorityenqueuefirst.c,
score/src/schedulerpriorityextract.c,
score/src/schedulerpriorityfree.c,
score/src/schedulerpriorityupdate.c: New files.
* score/src/schedulerprioritythreadschedulerallocate.c,
score/src/schedulerprioritythreadschedulerfree.c,
score/src/schedulerprioritythreadschedulerupdate.c: Removed.
|
|
|
|
|
|
|
|
| |
* score/src/watchdognanoseconds.c: New file.
* score/Makefile.am: Reflect change above.
* score/include/rtems/score/watchdog.h, score/src/coretodget.c,
score/src/coretodgetuptime.c: Do not allow NULL as nanoseconds since
last tick handler pointer.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 1647/cpukit
* posix/src/nanosleep.c, posix/src/sched_yield.c,
rtems/src/taskwakeafter.c, sapi/include/confdefs.h,
sapi/include/rtems/config.h, sapi/src/exinit.c, score/Makefile.am,
score/preinstall.am, score/include/rtems/score/prioritybitmap.h,
score/include/rtems/score/thread.h,
score/inline/rtems/score/thread.inl, score/src/thread.c,
score/src/threadchangepriority.c, score/src/threadclearstate.c,
score/src/threadclose.c, score/src/threadinitialize.c,
score/src/threadready.c, score/src/threadresume.c,
score/src/threadsetpriority.c, score/src/threadsetstate.c,
score/src/threadsettransient.c, score/src/threadsuspend.c,
score/src/threadtickletimeslice.c: Refactor scheduler out of thread
handler to facilitate alternate scheduler implementations.
* score/src/threadyieldprocessor.c: Removed.
* score/src/schedulerprioritythreadschedulerupdate.c,
score/src/schedulerprioritythreadschedulerfree.c,
score/src/schedulerpriorityblock.c, score/src/scheduler.c,
score/src/schedulerprioritythreadschedulerallocate.c,
score/src/schedulerpriorityunblock.c,
score/src/schedulerpriority.c, score/src/schedulerpriorityyield.c,
score/include/rtems/score/schedulerpriority.h,
score/include/rtems/score/scheduler.h,
score/inline/rtems/score/scheduler.inl,
score/inline/rtems/score/schedulerpriority.inl: New files.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 1673/cpukit
* score/src/chainappendempty.c, score/src/chaingetempty.c,
score/src/chainprependempty.c: New files.
* score/Makefile.am: Reflect changes above.
* score/include/rtems/score/chain.h: Declare
_Chain_Append_with_empty_check(), _Chain_Prepend_with_empty_check(),
and _Chain_Get_with_empty_check().
* score/inline/rtems/score/chain.inl: Define
_Chain_Append_with_empty_check_unprotected(),
_Chain_Prepend_with_empty_check_unprotected(), and
_Chain_Get_with_empty_check_unprotected().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 1635/cpukit
* sapi/src/exinit.c, score/Makefile.am, score/preinstall.am,
score/include/rtems/score/bitfield.h,
score/include/rtems/score/priority.h,
score/include/rtems/score/thread.h,
score/inline/rtems/score/priority.inl,
score/inline/rtems/score/thread.inl,
score/src/threadchangepriority.c, score/src/threadclearstate.c,
score/src/threadready.c, score/src/threadresume.c,
score/src/threadsetpriority.c, score/src/threadsetstate.c,
score/src/threadsettransient.c, score/src/threadsuspend.c:
Refactoring of priority handling, to isolate the bitmap
implementation of priorities in the supercore so that priority
management is a little more modular. This change is in anticipation
of scheduler implementations that can select how they manage tracking
priority levels / finding the highest priority ready task. Note that
most of the changes here are simple renaming, to clarify the use of
the bitmap-based priority management.
* score/include/rtems/score/prioritybitmap.h,
score/inline/rtems/score/prioritybitmap.inl: New files.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* score/include/rtems/score/basedefs.h: New file.
* score/Makefile.am, score/preinstall.am: Reflect change above.
* score/include/rtems/score/percpu.h: Include <rtems/score/cpu.h>.
* score/include/rtems/system.h: Moved definition of SCORE_EXTERN,
SAPI_EXTERN, RTEMS_EXTERN, POSIX_EXTERN, RTEMS_INLINE_ROUTINE,
RTEMS_COMPILER_MEMORY_BARRIER, RTEMS_COMPILER_NO_RETURN_ATTRIBUTE,
RTEMS_COMPILER_DEPRECATED_ATTRIBUTE, TRUE, and FALSE to
<rtems/score/basedefs.h>.
Removed include of <rtems/score/cpu.h>, <stdint.h> and <stddef.h>.
|
|
|
|
|
|
|
| |
* score/src/isrthreaddispatch.c: Removed file.
* score/Makefile.am: Reflect change above.
* score/include/rtems/score/isr.h: Removed _ISR_Thread_dispatch()
declaration.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 1573/cpukit
* configure.ac, posix/src/killinfo.c,
posix/src/psignalclearprocesssignals.c,
posix/src/psignalsetprocesssignals.c,
posix/src/psignalunblockthread.c, posix/src/pthreadcreate.c,
posix/src/pthreadkill.c, posix/src/pthreadsigmask.c,
rtems/src/signalsend.c, rtems/src/taskmode.c, score/Makefile.am,
score/preinstall.am, score/include/rtems/system.h,
score/include/rtems/score/context.h, score/include/rtems/score/isr.h,
score/include/rtems/score/thread.h, score/src/isr.c,
score/src/isrthreaddispatch.c, score/src/thread.c,
score/src/threaddispatch.c, score/src/threadloadenv.c: Add a per cpu
data structure which contains the information required by RTEMS for
each CPU core. This encapsulates information such as thread
executing, heir, idle and dispatch needed.
* score/include/rtems/score/percpu.h, score/src/percpu.c: New files.
|
|
|
|
|
|
|
|
| |
PR 1589/cpukit
* score/Makefile.am, score/include/rtems/score/thread.h,
score/inline/rtems/score/thread.inl: Make _Thread_Evaluate_mode() an
inline method. It is only used in one place and relatively simple.
* score/src/threadevaluatemode.c: Removed.
|
|
|
|
|
|
|
|
|
| |
PR 1590/cpukit
* score/Makefile.am, score/include/rtems/score/thread.h,
score/src/threadtickletimeslice.c: Remove _Thread_Reset_timeslice and
replaces its single use with a call to the functionally equivalent
_Thread_Yield_processor().
* score/src/threadresettimeslice.c: Removed.
|
| |
|
|
|
|
| |
_User_extensions_Add_API_set
|
|
|
|
| |
_Heap_Allocate_aligned_with_boundary().
|
| |
|
|
|
|
| |
* score/Makefile.am: Re-add file accidentally deleted by Sebastian.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sapi/include/rtems/extension.h, sapi/src/extensiondelete.c,
sapi/src/extensionident.c, sapi/src/extensioncreate.c,
sapi/inline/rtems/extension.inl, score/include/rtems/score/userext.h,
score/src/userextthreaddelete.c, score/src/userext.c,
score/src/userextthreadcreate.c, score/src/userextremoveset.c,
score/src/userextthreadbegin.c, score/src/userextaddset.c,
score/src/userextthreadstart.c, score/src/userextthreadswitch.c,
score/src/userextthreadrestart.c: Documentation. The types
User_extensions_routine and rtems_extension are now deprecated.
Removed unused types User_extensions_thread_post_switch_extension and
rtems_task_post_switch_extension. Renamed _User_extensions_Add_API_set()
in _User_extensions_Add_set(). Renamed _User_extensions_Add_set() in
_User_extensions_Add_set_with_table().
* score/src/userextaddapiset.c: Removed file.
* score/Makefile.am: Update.
|
|
|
|
|
|
| |
* score/src/heapalignupuptr.c, score/src/heapallocatealigned.c:
Removed files.
* score/Makefile.am: Update.
|
|
|
|
|
|
|
| |
* sapi/include/confdefs.h, score/Makefile.am,
score/include/rtems/score/thread.h: Only instantiate
_Thread_Idle_body() if it is going ot be used.
* score/src/threadidlebody.c: Removed.
|
|
|
|
|
|
|
| |
* libcsupport/Makefile.am, libcsupport/preinstall.am,
posix/Makefile.am, posix/preinstall.am, rtems/Makefile.am,
rtems/preinstall.am, score/Makefile.am, score/preinstall.am: Revert
modifications accidentally committed.
|
|
|
|
|
|
|
|
| |
* libcsupport/Makefile.am, posix/Makefile.am, rtems/Makefile.am,
sapi/Makefile.am, score/Makefile.am,
score/include/rtems/score/heap.h: HEAP_BLOCK_USED_OVERHEAD was under
by one uint32_t. This showed up in the unlimited and heapwalk tests
on ARM targets.
|
| |
|
|
|
|
|
|
|
|
|
| |
* libcsupport/Makefile.am, rtems/Makefile.am, rtems/preinstall.am,
sapi/Makefile.am, sapi/preinstall.am, score/Makefile.am,
score/preinstall.am, score/include/rtems/score/heap.h,
score/inline/rtems/score/heap.inl: Remove inline version now that it
is in a C file.
* libcsupport/src/end_profile.c: New file.
|
|
|
|
|
|
| |
* score/Makefile.am: Move from inline to body to avoid path explosion
from inlining this. Makes coverage analysis easier.
* score/src/heapalignupuptr.c: New file.
|
|
|
|
|
| |
* score/Makefile.am, score/preinstall.am: SuperCore Spinlock is only
used by POSIX API. Do not build it when POSIX is not enabled.
|
| |
|
|
|
|
|
|
|
|
| |
* libcsupport/src/malloc_initialize.c, score/Makefile.am,
score/include/rtems/score/protectedheap.h,
score/inline/rtems/score/heap.inl: Get total heap size correct when
using unified C Program Heap and RTEMS Workspace.
* score/src/pheapgetsize.c: New file.
|
|
|
|
|
|
|
|
|
|
| |
* rtems/include/rtems/rtems/regionmp.h, sapi/include/rtems/config.h,
sapi/src/exinit.c, score/Makefile.am,
score/include/rtems/score/object.h,
score/include/rtems/score/objectmp.h, score/src/objectmp.c: Eliminate
Object Handler Initialization routine since it was all for MP
configurations.
* score/src/object.c: Removed.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* libblock/src/bdbuf.c, libmisc/capture/capture-cli.c,
libmisc/capture/capture.c, libmisc/mw-fb/mw_uid.c,
rtems/include/rtems/rtems/support.h, score/Makefile.am,
score/include/rtems/score/tod.h, score/src/coretod.c,
score/src/coretodtickle.c: Eliminate all public use of TOD conversion
routines. Eliminate _TOD_Microseconds_per_tick and let every place
use the field directly from the Configuration Table. This required
moving some methods from macros to bodies.
* score/src/coretodmsecstoticks.c, score/src/coretodtickspersec.c,
score/src/coretodusectoticks.c: New files.
|