| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Replace timestamp implementation with FreeBSD bintime and timecounters.
New test sptests/sptimecounter02.
Update #2271.
|
|
|
|
|
|
|
|
|
|
| |
Rewrite the _Watchdog_Insert(), _Watchdog_Remove() and
_Watchdog_Tickle() functions to use iterator items to synchronize
concurrent operations. This makes it possible to get rid of the global
variables _Watchdog_Sync_level and _Watchdog_Sync_count which are a
blocking point for scalable SMP solutions.
Update #2307.
|
|
|
|
|
|
|
| |
This type is intended to encapsulate all state to manage a watchdog
chain.
Update #2307.
|
|
|
|
|
|
|
| |
Use the ISR lock of the thread object to protect the event state and
use the Giant lock only for the blocking operations.
Update #2273.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Rename scheduler per-thread information into scheduler nodes using
Scheduler_Node as the base type. Use inheritance for specialized
schedulers.
Move the scheduler specific states from the thread control block into
the scheduler node structure.
Validate the SMP scheduler node state transitions in case RTEMS_DEBUG is
defined.
|
|
|
|
|
|
| |
Do not allocate the scheduler control structures from the workspace.
This is a preparation step for configuration of clustered/partitioned
schedulers on SMP.
|
|
|
|
|
|
|
|
|
|
|
|
| |
This simplifies the RTEMS initialization and helps to avoid a memory
overhead. The workspace demands of the IO manager were not included in
the <rtems/confdefs.h> workspace size estimate. This is also fixed as a
side-effect.
Update documentation and move "Specifying Application Defined Device
Driver Table" to the section end. This sub-section is not that
important for the user. Mentioning this at the beginning may lead to
confusion.
|
|
|
|
| |
Use the Configuration instead.
|
|
|
|
| |
Use the Configuration instead.
|
|
|
|
|
|
| |
Delete global variables _Priority_Major_bit_map and _Priority_Bit_map.
This makes it possible to use multiple priority scheduler instances for
example with clustered/partitioned scheduling on SMP.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Do not return to BSP context in the exit() shutdown path. This makes it
possible to re-use the initialization stack. It can be used for the
interrupt stack for example. On targets with a small RAM this is a
considerable benefit.
This change eliminates also some special cases and simplifies the code.
Delete _Thread_Set_global_exit_status(),
_Thread_Get_global_exit_status() and _Thread_Stop_multitasking().
|
|
|
|
| |
From pull request at https://github.com/hazirguo/rtems/commit/fc07a4c501ffebe406464eb9b8dd2097adfd5e60
|
| |
|
|
|
|
|
| |
Move implementation specific parts of mpci.h into new header file
mpciimpl.h. The mpci.h contains now only the application visible API.
|
|
|
|
|
|
|
|
| |
Move implementation specific parts of prioritybitmap.h and
prioritybitmap.inl into new header file prioritybitmapimpl.h. The
prioritybitmap.h contains now only the application visible API.
Move content of bitfield.h into prioritybitmapimpl.h.
|
|
|
|
|
|
| |
Move implementation specific parts of tasks.h and tasks.inl into new
header file tasksimpl.h. The tasks.h contains now only the application
visible API.
|
|
|
|
|
|
| |
Move implementation specific parts of region.h and region.inl into new
header file regionimpl.h. The region.h contains now only the
application visible API.
|
|
|
|
|
|
| |
Move implementation specific parts of part.h and part.inl into new
header file partimpl.h. The part.h contains now only the application
visible API.
|
|
|
|
|
|
| |
Move implementation specific parts of timer.h and timer.inl into new
header file timerimpl.h. The timer.h contains now only the application
visible API.
|
|
|
|
|
|
| |
Move implementation specific parts of ratemon.h and ratemon.inl into
new header file ratemonimpl.h. The ratemon.h contains now only the
application visible API.
|
|
|
|
|
|
| |
Move implementation specific parts of dpmem.h and dpmem.inl into new
header file dpmemimpl.h. The dpmem.h contains now only the application
visible API.
|
|
|
|
|
|
| |
Move implementation specific parts of event.h, event.inl, eventset.h and
eventset.inl into new header file eventimpl.h. The event.h contains now
only the application visible API.
|
|
|
|
|
|
| |
Move implementation specific parts of extension.h and extension.inl into
new header file extensionimpl.h. The extension.h contains now only the
application visible API.
|
|
|
|
|
|
| |
Move implementation specific parts of watchdog.h and watchdog.inl into
new header file watchdogimpl.h. The watchdog.h contains now only the
application visible API.
|
|
|
|
|
|
| |
Move implementation specific parts of message.h and message.inl into new
header file messageimpl.h. The message.h contains now only the
application visible API.
|
|
|
|
|
|
| |
Move implementation specific parts of sem.h and sem.inl into new header
file semimpl.h. The sem.h contains now only the application visible
API.
|
|
|
|
|
|
|
|
|
| |
Rename in rtems_smp_get_processor_count(). Always provide
<rtems/score/smp.h> and <rtems/rtems/smp.h>. Add
_SMP_Get_processor_count(). This function will be a compile time
constant defined to be one on uni-processor configurations. This allows
iterations over all processors without overhead on uni-processor
configurations.
|
|
|
|
|
| |
This file contains the parts of <rtems/score/userext.h> that are only
necessary for the RTEMS implementation.
|
|
|
|
|
| |
Group the global TOD variables (_TOD_Now, _TOD_Uptime, and _TOD_Is_set)
in a structure to reduce address loads in _TOD_Tickle_ticks().
|
|
|
|
|
|
|
|
|
|
|
|
| |
Script does what is expected and tries to do it as
smartly as possible.
+ remove occurrences of two blank comment lines
next to each other after Id string line removed.
+ remove entire comment blocks which only exited to
contain CVS Ids
+ If the processing left a blank line at the top of
a file, it was removed.
|
|
|
|
|
| |
See http://www.rtems.org/pipermail/rtems-devel/2012-May/001006.html
for details.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 1589/build
* sp01/Makefile.am, sp02/Makefile.am, sp03/Makefile.am,
sp04/Makefile.am, sp05/Makefile.am, sp06/Makefile.am,
sp07/Makefile.am, sp08/Makefile.am, sp09/Makefile.am,
sp10/Makefile.am, sp11/Makefile.am, sp12/Makefile.am,
sp13/Makefile.am, sp14/Makefile.am, sp15/Makefile.am,
sp16/Makefile.am, sp17/Makefile.am, sp18/Makefile.am,
sp19/Makefile.am, sp20/Makefile.am, sp2038/Makefile.am,
sp21/Makefile.am, sp22/Makefile.am, sp23/Makefile.am,
sp24/Makefile.am, sp25/Makefile.am, sp26/Makefile.am,
sp27/Makefile.am, sp27a/Makefile.am, sp28/Makefile.am,
sp29/Makefile.am, sp30/Makefile.am, sp31/Makefile.am,
sp32/Makefile.am, sp33/Makefile.am, sp34/Makefile.am,
sp35/Makefile.am, sp36/Makefile.am, sp37/Makefile.am,
sp38/Makefile.am, sp39/Makefile.am, sp40/Makefile.am,
sp41/Makefile.am, sp42/Makefile.am, sp43/Makefile.am,
sp44/Makefile.am, sp45/Makefile.am, sp46/Makefile.am,
sp47/Makefile.am, sp48/Makefile.am, sp49/Makefile.am,
sp50/Makefile.am, sp51/Makefile.am, sp52/Makefile.am,
sp53/Makefile.am, sp54/Makefile.am, sp55/Makefile.am,
sp56/Makefile.am, sp57/Makefile.am, sp58/Makefile.am,
sp59/Makefile.am, sp60/Makefile.am, sp62/Makefile.am,
sp63/Makefile.am, sp64/Makefile.am, sp65/Makefile.am,
sp66/Makefile.am, sp67/Makefile.am, sp68/Makefile.am,
sp69/Makefile.am, sp70/Makefile.am, sp71/Makefile.am,
sp72/Makefile.am, sp73/Makefile.am, sp74/Makefile.am,
sp75/Makefile.am, sp76/Makefile.am, spassoc01/Makefile.am,
spcbssched01/Makefile.am, spcbssched02/Makefile.am,
spcbssched03/Makefile.am, spchain/Makefile.am,
spclockget/Makefile.am, spcoverage/Makefile.am,
spedfsched01/Makefile.am, spedfsched02/Makefile.am,
spedfsched03/Makefile.am, sperror01/Makefile.am,
sperror02/Makefile.am, sperror03/Makefile.am, spfatal01/Makefile.am,
spfatal02/Makefile.am, spfatal03/Makefile.am, spfatal04/Makefile.am,
spfatal05/Makefile.am, spfatal06/Makefile.am, spfatal07/Makefile.am,
spfatal08/Makefile.am, spfatal09/Makefile.am, spfatal10/Makefile.am,
spfatal11/Makefile.am, spfatal12/Makefile.am, spfatal13/Makefile.am,
spfatal14/Makefile.am, spfatal15/Makefile.am, spfatal16/Makefile.am,
spfatal17/Makefile.am, spfatal18/Makefile.am, spfatal19/Makefile.am,
spfatal20/Makefile.am, spfatal21/Makefile.am, spfatal22/Makefile.am,
spfatal23/Makefile.am, spfatal24/Makefile.am, spfatal25/Makefile.am,
spfifo01/Makefile.am, spfifo02/Makefile.am, spfifo03/Makefile.am,
spfifo04/Makefile.am, spfifo05/Makefile.am, spheapprot/Makefile.am,
spintrcritical01/Makefile.am, spintrcritical02/Makefile.am,
spintrcritical03/Makefile.am, spintrcritical04/Makefile.am,
spintrcritical05/Makefile.am, spintrcritical06/Makefile.am,
spintrcritical07/Makefile.am, spintrcritical08/Makefile.am,
spintrcritical09/Makefile.am, spintrcritical10/Makefile.am,
spintrcritical11/Makefile.am, spintrcritical12/Makefile.am,
spintrcritical13/Makefile.am, spintrcritical14/Makefile.am,
spintrcritical15/Makefile.am, spintrcritical16/Makefile.am,
spintrcritical17/Makefile.am, spmkdir/Makefile.am,
spmountmgr01/Makefile.am, spnotepad01/Makefile.am,
spnsext01/Makefile.am, spobjgetnext/Makefile.am,
spprintk/Makefile.am, spprivenv01/Makefile.am,
sprbtree01/Makefile.am, spsimplesched01/Makefile.am,
spsimplesched02/Makefile.am, spsimplesched03/Makefile.am,
spsize/Makefile.am, spstkalloc/Makefile.am, spthreadq01/Makefile.am,
spwatchdog/Makefile.am, spwkspace/Makefile.am: Remove obsolete
optional manager capability.
|
|
|
|
|
|
| |
PR 1784
* sptests/spsize/size.c: Split bspsmp.h into two files smp.h and
bspsmp.h
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 1729/cpukit
* spsize/size.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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 1743/cpu
* Makefile.am, configure.ac, spsize/size.c: 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.
* spsimplesched01/.cvsignore, spsimplesched01/Makefile.am,
spsimplesched01/init.c, spsimplesched01/spsimplesched01.doc,
spsimplesched01/spsimplesched01.scn, spsimplesched02/.cvsignore,
spsimplesched02/Makefile.am, spsimplesched02/init.c,
spsimplesched02/spsimplesched02.doc,
spsimplesched02/spsimplesched02.scn, spsimplesched03/.cvsignore,
spsimplesched03/Makefile.am, spsimplesched03/init.c,
spsimplesched03/spsimplesched03.doc,
spsimplesched03/spsimplesched03.scn: New files.
|
| |
|
|
|
|
|
|
| |
PR 1647/cpukit
* spsize/size.c: Update documentation to reflect refactoring of
SuperCore to add Scheduler Handler.
|
|
|
|
| |
* spsize/size.c: Fix typo.
|
|
|
|
|
| |
PR 1647/testing
* spsize/size.c: Remove redundant initialize uninitialized to 0.
|
|
|
|
|
|
| |
PR 1599/cpukit
* spsize/size.c: Rename _Context_Switch_necessary to
_Thread_Dispatch_necessary to more properly reflect the intent.
|
|
|
|
|
|
|
| |
PR 1573/cpukit
* spsize/size.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.
|
|
|
|
| |
* spsize/Makefile.am: Fix broken install rule.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sp32/Makefile.am, sp33/Makefile.am, sp37/Makefile.am,
sp38/Makefile.am, sp39/Makefile.am, sp43/Makefile.am,
sp44/Makefile.am, spfatal01/Makefile.am, spfatal02/Makefile.am,
spfatal03/Makefile.am, spfatal04/Makefile.am, spfatal05/Makefile.am,
spfatal06/Makefile.am, spfatal07/Makefile.am, spfatal08/Makefile.am,
spfatal09/Makefile.am, spobjgetnext/Makefile.am,
spprintk/Makefile.am, spsize/Makefile.am, spwatchdog/Makefile.am,
spwkspace/Makefile.am: Add documentation files for multiple tests.
* sp32/sp32.doc, sp33/sp33.doc, sp37/sp37.doc, sp38/sp38.doc,
sp39/sp39.doc, sp43/sp43.doc, sp44/sp44.doc, spfatal01/spfatal01.doc,
spfatal02/spfatal02.doc, spfatal03/spfatal03.doc,
spfatal04/spfatal04.doc, spfatal05/spfatal05.doc,
spfatal06/spfatal06.doc, spfatal07/spfatal07.doc,
spfatal08/spfatal08.doc, spfatal09/spfatal09.doc,
spobjgetnext/spobjgetnext.doc, spprintk/spprintk.doc,
spsize/spsize.doc, spwatchdog/spwatchdog.doc,
spwkspace/spwkspace.doc: New files.
|
| |
|
| |
|