Commit Graph

68 Commits

Author SHA1 Message Date
Sebastian Huber
8054b1c718 Remove <rtems/debug.h>
Close #2477.
2015-12-07 13:11:07 +01:00
Sebastian Huber
ddb6a49bdf rbtree: Delete _RBTree_Initialize()
This function has no internal use case.
2015-08-31 09:59:42 +02:00
Alexander Krutwig
31be41653a timecounter: Port to RTEMS
New test sptests/timecounter01.

Update #2271.
2015-05-20 08:40:29 +02:00
Sebastian Huber
18d0a49129 Move test support from sapi to libmisc/testsupport 2015-03-05 08:44:59 +01:00
Joel Sherrill
50f8bfdb14 sapi/Makefile.am: Do not install libsapi.a
sapi/preinstall.am: Regenerated
2015-02-13 11:52:43 -06:00
Sebastian Huber
e1598a616d score: Static scheduler configuration
Do not allocate the scheduler control structures from the workspace.
This is a preparation step for configuration of clustered/partitioned
schedulers on SMP.
2014-04-15 08:37:11 +02:00
Sebastian Huber
840ae715a9 sapi: Add <rtems/test.h>
Provide support functions to print the begin/end of test message.
Provide a test fatal extension to print out profiling reports in the
future.
2014-03-17 09:17:36 +01:00
Sebastian Huber
4dad4b8411 sapi: Add profiling application level support 2014-03-14 08:46:49 +01:00
Sebastian Huber
24bf11eca1 score: Add CPU counter support
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.
2014-02-14 10:28:29 +01:00
Sebastian Huber
bab16de267 score: Change debug helper functions
Rename rtems_internal_error_description() to
rtems_internal_error_text().  Rename rtems_fatal_source_description() to
rtems_fatal_source_text().  Rename rtems_status_code_description() to
rtems_status_text().  Remove previous implementation of
rtems_status_text().
2014-02-12 09:18:00 +01:00
Sebastian Huber
1215fd4d94 sapi: SMP support for chains
Add ISR lock to chain control for proper SMP protection.  Replace
rtems_chain_extract() with rtems_chain_explicit_extract() and
rtems_chain_insert() with rtems_chain_explicit_insert() on SMP
configurations.  Use rtems_chain_explicit_extract() and
rtems_chain_explicit_insert() to provide SMP support.
2013-08-30 11:16:28 +02:00
Sebastian Huber
6b4e448ebe PR766: Delete __RTEMS_INSIDE__ 2013-08-08 14:11:22 +02:00
Sebastian Huber
ac252bdce0 sapi: Create extension implementation header
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.
2013-07-23 15:12:51 +02:00
Sebastian Huber
2445bda1db sapi: Merge rbtree API into one file 2013-07-23 15:12:51 +02:00
Sebastian Huber
98c7eacaaa sapi: Merge timespec API into one file 2013-07-23 15:12:51 +02:00
Sebastian Huber
b5ffa5e136 sapi: Merge CBS API into one file 2013-07-23 15:12:51 +02:00
Sebastian Huber
b1564cc164 sapi: Merge chain implementation into one file 2013-07-22 16:57:27 +02:00
Sebastian Huber
f2f39b62a2 sapi: Add rtems_fatal_source_description() 2013-01-07 16:08:19 +01:00
Sebastian Huber
e2e5b49215 score: Add rtems_fatal() 2012-11-15 15:33:12 +01:00
Sebastian Huber
dc6e830c10 sapi: Add and use rtems_internal_error_description 2012-11-15 15:33:11 +01:00
Krzysztof Mięsowicz
a6eaa5489c timespec helpers: Add wrappers with new test 2012-08-29 07:38:54 -05:00
Joel Sherrill
9b4422a251 Remove All CVS Id Strings Possible Using a Script
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.
2012-05-11 08:44:13 -05:00
Joel Sherrill
33a105fb69 Revert: Remove CVS Ids
See http://www.rtems.org/pipermail/rtems-devel/2012-May/001006.html
for details.
2012-05-07 11:08:48 -05:00
Ralf Corsépius
ee32f67a6f Remove CVS-Ids. 2012-05-04 09:36:25 +02:00
Sebastian Huber
e75263083e rbheap: New files
In the Red-Black Tree Heap the administration data structures are not
contained in the managed memory area.  This can be used for example in a
task stack allocator which protects the task stacks from access by other
tasks.
2012-04-11 11:24:19 +02:00
Joel Sherrill
82db8e5675 2011-09-15 Petr Benes <benesp16@fel.cvut.cz>
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.
2011-09-15 15:49:32 +00:00
Ralf Corsepius
782e6aea2b 2011-05-18 Ralf Corsépius <ralf.corsepius@rtems.org>
* sapi/Makefile.am: Reformat.
2011-05-18 05:16:23 +00:00
Joel Sherrill
bd9baa8184 2010-07-28 Gedare Bloom <giddyup44@yahoo.com>
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.
2011-04-04 18:44:16 +00:00
Sebastian Huber
69f2a078c8 2010-08-24 Sebastian Huber <sebastian.huber@embedded-brains.de>
PR 1673/cpukit
	* sapi/src/chainappendnotify.c, sapi/src/chaingetnotify.c,
	sapi/src/chaingetwait.c, sapi/src/chainprependnotify.c: New files.
	* sapi/Makefile.am: Reflect changes above.
	* sapi/include/rtems/chain.h: Declare
	rtems_chain_append_with_notification(),
	rtems_chain_prepend_with_notification(),
	rtems_chain_get_with_notification(), and rtems_chain_get_with_wait().
	* sapi/inline/rtems/chain.inl: Define
	rtems_chain_append_with_empty_check(),
	rtems_chain_prepend_with_empty_check(), and
	rtems_chain_get_with_empty_check().
2010-08-24 14:29:55 +00:00
Ralf Corsepius
d83c90f1fe 2010-06-18 Ralf Corsépius <ralf.corsepius@rtems.org>
* sapi/Makefile.am: Remove src/itronapi.c.
	* sapi/src/itronapi.c: Remove.
2010-06-18 02:58:15 +00:00
Joel Sherrill
235aaf0c10 2009-08-09 Xi Yang <hiyangxi@gmail.com>
* 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.
2009-08-09 15:23:10 +00:00
Joel Sherrill
684e243dd0 Revert. 2009-08-06 20:39:27 +00:00
Joel Sherrill
88157a76de 2009-08-05 Joel Sherrill <joel.sherrill@OARcorp.com>
* 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.
2009-08-05 21:18:29 +00:00
Joel Sherrill
4d47256b4b 2008-07-15 Joel Sherrill <joel.sherrill@oarcorp.com>
* rtems/include/rtems.h, sapi/Makefile.am: Add simple helper to get
	RTEMS version string.
	* sapi/src/getversionstring.c: New file.
2008-07-15 22:56:45 +00:00
Chris Johns
72d2ec4da4 2008-07-03 Chris Johns <chrisj@rtems.org>
* cpukit/libcsupport/include/chain.h: Removed. Use the SAPI
	interface that is supported.

	* cpukit/libcsupport/Makefile.am,
	cpukit/libcsupport/preinstall.am: Remove chain.h header
	references.

	* cpukit/sapi/include/rtems/chain.h,
	cpukit/sapi/inline/rtems/chain.inl: New. A supported chains
	interface.

	* cpukit/sapi/Makefile.am, cpukit/sapi/preinstall.am: Updated to
	include the new chains interface.

	* cpukit/libfs/src/imfs/imfs.h,
	cpukit/libfs/src/imfs/imfs_creat.c,
	cpukit/libfs/src/imfs/imfs_debug.c,
	cpukit/libfs/src/imfs/imfs_directory.c,
	cpukit/libfs/src/imfs/imfs_fsunmount.c,
	cpukit/libfs/src/imfs/imfs_getchild.c,
	cpukit/libfs/src/imfs/imfs_load_tar.c,
	cpukit/libfs/src/imfs/imfs_rmnod.c,
	cpukit/libfs/src/imfs/memfile.c,
	cpukit/libfs/src/nfsclient/src/nfs.c,
	cpukit/libcsupport/include/rtems/libio.h,
	cpukit/libcsupport/src/malloc_deferred.c,
	cpukit/libcsupport/src/mount.c,
	cpukit/libcsupport/src/privateenv.c,
	cpukit/libcsupport/src/unmount.c: Change to the new chains
	interface.

	* cpukit/libcsupport/src/malloc_boundary.c: Remove warning.
2008-07-03 01:37:38 +00:00
Joel Sherrill
bcf4cbb589 2007-12-13 Joel Sherrill <joel.sherrill@OARcorp.com>
* libcsupport/preinstall.am, posix/preinstall.am, rtems/Makefile.am,
	rtems/preinstall.am, sapi/Makefile.am, sapi/preinstall.am,
	score/Makefile.am, score/preinstall.am: Revert testing patch.
2007-12-13 17:00:38 +00:00
Joel Sherrill
8d8daef461 2007-12-13 Joel Sherrill <joel.sherrill@OARcorp.com>
* libcsupport/preinstall.am, posix/preinstall.am, posix/src/aio.c,
	posix/src/clockgetcpuclockid.c, posix/src/clockgetenableattr.c,
	posix/src/clockgettime.c, posix/src/clocksetenableattr.c,
	posix/src/clocksettime.c, posix/src/devctl.c,
	posix/src/pthreadcreate.c, posix/src/pthreadgetcpuclockid.c,
	posix/src/types.c, rtems/preinstall.am, sapi/Makefile.am,
	sapi/preinstall.am, score/Makefile.am, score/preinstall.am: Eliminate
	POSIX_NOT_IMPLEMENTED(). Return ENOSYS instead.
2007-12-13 15:45:43 +00:00
Joel Sherrill
9c556023f0 2007-05-29 Joel Sherrill <joel.sherrill@OARcorp.com>
* sapi/Makefile.am, sapi/include/rtems/io.h, sapi/src/io.c: Split into
	one function per file execpt io.c which contains required
	initialization methods.
	* sapi/src/ioclose.c, sapi/src/iocontrol.c, sapi/src/iodata.c,
	sapi/src/ioinitialize.c, sapi/src/ioopen.c, sapi/src/ioread.c,
	sapi/src/ioregisterdriver.c, sapi/src/iounregisterdriver.c,
	sapi/src/iowrite.c: New files.
2007-05-29 19:56:35 +00:00
Joel Sherrill
6f1384cd4f Split Classic API data instantiation into individual files. This reduces the size of the BSS section when an optional manageer stub is used. Some tests showed about a 600 byte reduction in BSS size. Also eliminated the variables _RTEMS_tasks_User_initialization_tasks and _RTEMS_tasks_Number_of_initialization_tasks because they were only used in one place after initialized. It was a waste of space. 2007-05-21 23:19:36 +00:00
Joel Sherrill
c3db01d0f3 2007-05-09 Joel Sherrill <joel.sherrill@OARcorp.com>
* libcsupport/include/rtems/libcsupport.h, libcsupport/src/newlibc.c,
	sapi/Makefile.am, sapi/include/confdefs.h, sapi/src/exinit.c,
	score/Makefile.am, score/preinstall.am,
	score/include/rtems/score/userext.h, score/src/chain.c,
	score/src/userext.c: Switch to newlib reentrancy extension being
	installed in the initial set instead of using rtems_extension_create.
	While implementing this, noticed that user extensions and chain code
	had multiple functions in a single file which is not desirable in the
	SuperCore and API portions of RTEMS, so split these into multiple
	files with one function per file. Also noticed that some of user
	extension code was inlined for no particular reason so moved that to
	C bodies.  Split executive shutdown from initialization since not
	every application shuts down.  Moved __fini call to executive shutdown
	to be more symmetrical with where it is called at startup.
	* sapi/src/exshutdown.c, score/src/chainappend.c,
	score/src/chainextract.c, score/src/chainget.c,
	score/src/chaininsert.c, score/src/userextaddapiset.c,
	score/src/userextaddset.c, score/src/userextremoveset.c,
	score/src/userextthreadbegin.c, score/src/userextthreadcreate.c,
	score/src/userextthreaddelete.c, score/src/userextthreadrestart.c,
	score/src/userextthreadstart.c, score/src/userextthreadswitch.c: New
	files.
	* score/inline/rtems/score/userext.inl: Removed.
2007-05-09 18:27:26 +00:00
Joel Sherrill
04dba496a6 2006-10-19 Joel Sherrill <joel@OARcorp.com>
* configure.ac, itron/Makefile.am, itron/preinstall.am,
	posix/Makefile.am, posix/preinstall.am, rtems/Makefile.am,
	rtems/preinstall.am, sapi/Makefile.am, sapi/preinstall.am,
	score/Makefile.am, score/preinstall.am, score/include/rtems/system.h,
	score/include/rtems/score/chain.h,
	score/include/rtems/score/thread.h, score/src/chain.c,
	score/src/coremutexseize.c, score/src/threadget.c: Remove all macro
	implementations and use only the static inline. Static inline
	functions are now well supported so there is no reason for duplicate
	maintenance.
	* itron/macros/rtems/itron/eventflags.inl,
	itron/macros/rtems/itron/fmempool.inl,
	itron/macros/rtems/itron/intr.inl, itron/macros/rtems/itron/mbox.inl,
	itron/macros/rtems/itron/msgbuffer.inl,
	itron/macros/rtems/itron/network.inl,
	itron/macros/rtems/itron/port.inl,
	itron/macros/rtems/itron/semaphore.inl,
	itron/macros/rtems/itron/sysmgmt.inl,
	itron/macros/rtems/itron/task.inl, itron/macros/rtems/itron/time.inl,
	itron/macros/rtems/itron/vmempool.inl,
	posix/macros/rtems/posix/cond.inl, posix/macros/rtems/posix/key.inl,
	posix/macros/rtems/posix/mqueue.inl,
	posix/macros/rtems/posix/mutex.inl,
	posix/macros/rtems/posix/priority.inl,
	posix/macros/rtems/posix/pthread.inl,
	posix/macros/rtems/posix/semaphore.inl,
	posix/macros/rtems/posix/timer.inl, rtems/macros/rtems/rtems/asr.inl,
	rtems/macros/rtems/rtems/attr.inl,
	rtems/macros/rtems/rtems/barrier.inl,
	rtems/macros/rtems/rtems/dpmem.inl,
	rtems/macros/rtems/rtems/event.inl,
	rtems/macros/rtems/rtems/eventset.inl,
	rtems/macros/rtems/rtems/message.inl,
	rtems/macros/rtems/rtems/modes.inl,
	rtems/macros/rtems/rtems/options.inl,
	rtems/macros/rtems/rtems/part.inl,
	rtems/macros/rtems/rtems/ratemon.inl,
	rtems/macros/rtems/rtems/region.inl,
	rtems/macros/rtems/rtems/sem.inl,
	rtems/macros/rtems/rtems/status.inl,
	rtems/macros/rtems/rtems/support.inl,
	rtems/macros/rtems/rtems/tasks.inl,
	rtems/macros/rtems/rtems/timer.inl, sapi/macros/rtems/extension.inl,
	score/macros/README, score/macros/rtems/score/address.inl,
	score/macros/rtems/score/chain.inl,
	score/macros/rtems/score/corebarrier.inl,
	score/macros/rtems/score/coremsg.inl,
	score/macros/rtems/score/coremutex.inl,
	score/macros/rtems/score/corerwlock.inl,
	score/macros/rtems/score/coresem.inl,
	score/macros/rtems/score/corespinlock.inl,
	score/macros/rtems/score/heap.inl, score/macros/rtems/score/isr.inl,
	score/macros/rtems/score/mppkt.inl,
	score/macros/rtems/score/object.inl,
	score/macros/rtems/score/objectmp.inl,
	score/macros/rtems/score/priority.inl,
	score/macros/rtems/score/stack.inl,
	score/macros/rtems/score/states.inl,
	score/macros/rtems/score/sysstate.inl,
	score/macros/rtems/score/thread.inl,
	score/macros/rtems/score/threadmp.inl,
	score/macros/rtems/score/tod.inl,
	score/macros/rtems/score/tqdata.inl,
	score/macros/rtems/score/userext.inl,
	score/macros/rtems/score/watchdog.inl,
	score/macros/rtems/score/wkspace.inl: Removed.
2006-10-19 19:20:10 +00:00
Ralf Corsepius
4e971660a1 Remove all-local. 2006-01-12 09:57:43 +00:00
Ralf Corsepius
dbe8e5194c Cleanups 2006-01-12 04:19:28 +00:00
Ralf Corsepius
6265b83060 Split preinstallation rules in to separate files (preinstall.am). 2005-02-08 15:02:25 +00:00
Ralf Corsepius
05b37c50d0 2005-01-28 Ralf Corsepius <ralf.corsepius@rtems.org>
* itron/Makefile.am, libblock/Makefile.am, libcsupport/Makefile.am,
	libfs/Makefile.am, libmisc/Makefile.am, posix/Makefile.am,
	rtems/Makefile.am, sapi/Makefile.am:
	Remove AM_CPPFLAGS += -I$(top_builddir).
2005-01-28 02:32:38 +00:00
Ralf Corsepius
a369ade90d 2005-01-07 Ralf Corsepius <ralf.corsepius@rtems.org>
* httpd/Makefile.am, itron/Makefile.am, libblock/Makefile.am,
	libcsupport/Makefile.am, libfs/Makefile.am, libmisc/Makefile.am,
	libnetworking/Makefile.am, librpc/Makefile.am, posix/Makefile.am,
	rtems/Makefile.am, sapi/Makefile.am, score/Makefile.am:
	Eliminate CFLAGS_OPTIMIZE_V.
2005-01-07 06:05:49 +00:00
Ralf Corsepius
97f2e1c26e 2005-01-05 Ralf Corsepius <ralf.corsepius@rtems.org>
* rtems/src/eventsurrender.c: Remove bogus type casts.
	* sapi/Makefile.am: Eliminate *_FILES.
2005-01-05 16:09:15 +00:00
Ralf Corsepius
846a4af893 2005-01-01 Ralf Corsepius <ralf.corsepius@rtems.org>
* automake/compile.am, httpd/Makefile.am, itron/Makefile.am,
	libblock/Makefile.am, libcsupport/Makefile.am, libfs/Makefile.am,
	libmisc/Makefile.am, libnetworking/Makefile.am, librpc/Makefile.am,
	posix/Makefile.am, rtems/Makefile.am, sapi/Makefile.am,
	score/Makefile.am, wrapup/Makefile.am:
	Remove build-variant support.
2005-01-01 10:41:29 +00:00
Ralf Corsepius
08119f1824 2004-04-01 Ralf Corsepius <ralf_corsepius@rtems.org>
* sapi/Makefile.am: Install confdefs.h to $(includedir)/rtems.
2004-04-01 11:04:16 +00:00
Ralf Corsepius
3d1de205f6 2004-01-19 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am: Add PREINSTALL_DIRS.
2004-01-19 07:29:05 +00:00