Commit Graph

28961 Commits

Author SHA1 Message Date
Joel Sherrill
1a738edb39 lpc1768_mbed.cfg: Turn on per function sections
Closes #2576.
2016-03-22 10:10:38 -05:00
Sebastian Huber
9e2acee742 psxtests/psxobj01: Fix for RTEMS_DEBUG 2016-03-22 08:29:09 +01:00
Sebastian Huber
865f110b58 score: Fix for RTEMS_DEBUG
The rtems_extension_create() no longer uses the Giant lock.  Ensure that
we call _User_extensions_Add_set() only in the right context.

Update #2555.
2016-03-22 08:05:28 +01:00
Sebastian Huber
c61431f934 score: Always declare _Objects_Get_by_name()
Still define it only if RTEMS_SCORE_OBJECT_ENABLE_STRING_NAMES is
defined.

Close #2672.
2016-03-22 07:44:14 +01:00
Sebastian Huber
30cac38f15 rtems: Use object allocator lock
Object creation and destruction is protected by the object allocator
lock and not disabled thread dispatching.

Update #2555.
2016-03-22 07:44:13 +01:00
Sebastian Huber
baa1362643 score: Fix for RTEMS_DEBUG
Update #2627.
2016-03-22 07:22:08 +01:00
Sebastian Huber
90960bd11a rtems: Rework rate-monotonic scheduler
Use the default thread lock to protect rate-monotonic state changes.
This avoids use of the Giant lock.  Split rtems_rate_monotonic_period()
body into several static functions.  Introduce a new thread wait class
THREAD_WAIT_CLASS_PERIOD for period objects to synchronize the blocking
operation.

Close #2631.
2016-03-22 07:05:05 +01:00
Sebastian Huber
875c26db0f rtems: Avoid __RTEMS_USE_TICKS_FOR_STATISTICS__
Option was removed by e6b31b27fb.
2016-03-21 10:45:44 +01:00
Sebastian Huber
300eaadd42 rtems: Delete Rate_monotonic_Period_time_t
Variables with this type directly used the _Timestamp_*() functions.
2016-03-21 10:44:35 +01:00
Sebastian Huber
610e87d3c2 rtems: Inline _Rate_monotonic_Reset_statistics()
Use inline function instead of macro.
2016-03-21 10:36:20 +01:00
Sebastian Huber
be88976440 mpci: Avoid Giant lock
The object creation/deletion is protected by the object allocator lock.

Update #2555.
2016-03-18 15:36:58 +01:00
Sebastian Huber
19e855d745 mpci: Avoid Giant lock
Update #2555.
2016-03-18 15:36:58 +01:00
Sebastian Huber
5a5fb3b9d6 score: Avoid Giant lock for CORE spinlock
Use an ISR lock to protect the spinlock state.  Remove empty attributes.

Update #2555.
2016-03-18 15:36:58 +01:00
Sebastian Huber
c904df5733 score: Add _Objects_Get_by_name()
Replace _Objects_Name_to_id_string() with _Objects_Get_by_name() since
all users of this function are interested in the object itself and not
the identifier.

Use the object allocator lock to protect the search.

Update #2555.
2016-03-18 15:36:58 +01:00
Sebastian Huber
1f0e652a2a sptests/sptls02: Use GNU++11
This avoids a problem with the feature test macros introduced in Newlib
be657151f12f4d198e45395987f0a626ee1bbb91.
2016-03-18 15:36:58 +01:00
Sebastian Huber
e12f4e1724 bsp/qoriq: Invalidate TLS anchor 2016-03-18 10:59:24 +01:00
Sebastian Huber
e3f8ba57f4 ftpd: Resolve function name conflict
Visible with Newlib be657151f12f4d198e45395987f0a626ee1bbb91.
2016-03-18 10:30:57 +01:00
Sebastian Huber
b545d97c0c score: C++ compatibility 2016-03-18 09:25:16 +01:00
Sebastian Huber
5eaf0e7458 posix: Use per-thread lookup tree for POSIX Keys
Yields higher performance on SMP systems.

Close #2625.
2016-03-18 07:43:46 +01:00
Sebastian Huber
90de300108 score: Destroy thread timer lock
Update #2554.
2016-03-18 07:43:46 +01:00
Sebastian Huber
d64f2e7a85 sparc: Fix SMP context switch
The value of register %g1 was overwritten in a delay slot.  Use
additional %g4 register.

Bug introduced by 258ad71e96.
2016-03-18 07:43:46 +01:00
Joel Sherrill
d731bc6fe7 bspgetworkarea.c: File header now uses Doxygen 2016-03-17 17:44:06 -05:00
Joel Sherrill
bfb886d78c mcf5235/start/start.S: Fix spacing from bad tab expansion 2016-03-17 17:43:31 -05:00
Joel Sherrill
0d2067c451 pc386/console/conscfg.c: Fix name of Edison console 2016-03-17 17:42:55 -05:00
Daniel Hellstrom
6c4aaf4f31 sparc: Fix window underflow trap handler
The window underflow trap handler used %i5 which destroyed the %o5 of
the calling context.  Bug introduced by
0d3b5d4742.

Go back to the pre 0d3b5d4742 behaviour
and use the two unused instructions in the trap vector to optimize a
bit.

Update #2651.
2016-03-17 11:09:08 +01:00
Sebastian Huber
2f02f93897 sapi: Include missing header file 2016-03-17 09:02:19 +01:00
Sebastian Huber
92dee4ab9c rtems: Avoid Giant lock in rtems_signal_catch()
Update #2555.
2016-03-17 08:27:47 +01:00
Sebastian Huber
f5bb299190 rtems: Avoid Giant lock in rtems_task_mode()
Update #2555.
2016-03-17 08:27:47 +01:00
Sebastian Huber
75aef54d16 posix: Avoid Giant lock in sched_yield()
Update #2555.
2016-03-17 08:27:47 +01:00
Sebastian Huber
d37adfe5dd score: Fix CPU time used by executing threads
The CPU time used of a thread was previously maintained per-processor
mostly during _Thread_Dispatch().  However, on SMP configurations the
actual processor of a thread is difficult to figure out since thread
dispatching is a highly asynchronous process (e.g. via inter-processor
interrupts).  Only the intended processor of a thread is known to the
scheduler easily.  Do the CPU usage accounting during thread heir
updates in the context of the scheduler operations.  Provide the
function _Thread_Get_CPU_time_used() to get the CPU usage of a thread
using proper locks to get a consistent value.

Close #2627.
2016-03-17 08:27:47 +01:00
Sebastian Huber
1547b623eb bsp/realview_pbx_a9_qemu: Fix compiler flags 2016-03-17 08:27:47 +01:00
Joel Sherrill
59461e5c82 pc386/.../bspimpl.h: New file missed in previous commit. 2016-03-16 08:02:11 -05:00
Sebastian Huber
b044373638 bsp/mpc55xx: Fix BSS initialization 2016-03-16 13:35:26 +01:00
Sebastian Huber
4bf79afb66 timecounter: Avoid invalid memcpy()
In uni-processor configurations we have only one timehand.  Do not issue
a memcpy() with equal source and destination.
2016-03-16 13:35:26 +01:00
Sebastian Huber
f2f207cee7 score: Fix intenal mutex attributes
A mutex must be released by its owner.
2016-03-16 07:16:58 +01:00
Sebastian Huber
474b9beeaa score: Use allocator lock in _Objects_Get_next()
Use the object allocator lock in _Objects_Get_next() instead of disabled
thread dispatching since object creation and deletion is covered by this
lock.

Update #2555.
2016-03-16 07:16:58 +01:00
Sebastian Huber
05ef28754e sapi: Do not disable thread dispatching
Do not disable thread dispatching to add a user extension.  After
startup, the object allocator lock is enough.

Update #2555.
2016-03-16 07:16:58 +01:00
Joel Sherrill
364866db1f pc386: Do not include rtems/pci.h from bsp.h. Add bsp/bspimpl.h
Start to migrate private symbols to bsp/bspimpl.h.
2016-03-15 19:37:58 -05:00
Joel Sherrill
78c9fe8b32 atsamv-testsuite.tcfg: Add more tests 2016-03-15 19:37:58 -05:00
Sebastian Huber
5a0b27ed11 bsp/leon3: Clock driver workaround for GR712RC 2016-03-15 14:32:16 +01:00
Sebastian Huber
057154e45a bsp/beatnik: Delete unused linkcmds file 2016-03-15 08:15:53 +01:00
Sebastian Huber
df91dd9f34 monitor: Use object allocator lock
Use object allocator lock instead of disabled thread dispatching.

Update #2555.
2016-03-14 12:31:12 +01:00
Sebastian Huber
18ff889624 score: Use ISR lock for IO driver registration
Create implementation header file.

Update #2555.
2016-03-14 10:56:22 +01:00
Sebastian Huber
734118d9b3 bsp/qoriq: Fix interrupt numbers 2016-03-14 10:56:21 +01:00
Sebastian Huber
62d2540dae score: Delete unused SAPI_IO_EXTERN
Update #2559.
2016-03-14 09:41:37 +01:00
Sebastian Huber
77e6eba714 score: Add and use _Objects_Get_local()
This simplifies the handling with local-only objects.

Update #2555.
2016-03-14 09:06:27 +01:00
Joel Sherrill
5e368e8441 pc386: Fix linker usage issues with -r and function sections
closes #2638.
2016-03-11 16:07:35 -06:00
Joel Sherrill
83a116b807 lm32/shared/.../ckinit.c: Fix typo so fast idle on simulator is enabled 2016-03-11 14:13:48 -06:00
Joel Sherrill
a29aa2171b v850/gdbv850sim: Add per-section compilation and linking support
updates #2577.

Had to add .rtemsroset to the linkcmds following the arm to get it
to link after turning on the per-secton options.

For the v850e1sim BSP variant without this option sample executables
sizes were as follows:

   text	   data	    bss	    	  dec	    	  hex	filename
  76940	   6456	   4944	  88340	  15914	ticker.exe
  21896	   1860	    760	  24516	   5fc4	minimum.exe
 802270	  45832	  12837	 860939	  d230b	cxx_iostream.exe
 473916	  65152	  18156	 557224	  880a8	fileio.exe
 384288	  45724	  34148	 464160	  71520	pppd.exe
 161648	  18416	   7840	 187904	  2de00	capture.exe
  90856	   6740	   5021	 102617	  190d9	nsecs.exe
 158424	  17512	   5508	 181444	  2c4c4	paranoia.exe
 152938	  12948	   5821	 171707	  29ebb	cdtest.exe
  73808	   6296	   4912	  85016	  14c18	base_sp.exe
  77420	   6528	   8756	  92704	  16a20	unlimited.exe
  89692	   4792	   4916	  99400	  18448	hello.exe
 236138	  18396	  12240	 266774	  41216	loopback.exe

For the v850e1sim BSP variant with this option sample executables
sizes were as follows:

   text	   data	    bss	    	  dec	    	  hex	filename
  76739	   1552	   4920	  83211	  1450b	ticker.exe
  13682	    228	    748	  14658	   3942	minimum.exe
 491284	   6508	  12026	 509818	  7c77a	cxx_iostream.exe
 517952	   5632	  17859	 541443	  84303	fileio.exe
 379732	   8864	  33308	 421904	  67010	pppd.exe
 169182	   2176	   7815	 179173	  2bbe5	capture.exe
  91307	   1640	   4997	  97944	  17e98	nsecs.exe
 167431	   1920	   5484	 174835	  2aaf3	paranoia.exe
 156322	   1936	   5797	 164055	  280d7	cdtest.exe
  72591	   1548	   4888	  79027	  134b3	base_sp.exe
  76215	   1576	   8732	  86523	  151fb	unlimited.exe
  86346	   1520	   4892	  92758	  16a56	hello.exe
 221810	   2800	  12076	 236686	  39c8e	loopback.exe

For the v850e2sim BSP variant without this option sample executables
sizes were as follows:

   text	   data	    bss	    	  dec	    	  hex	filename
  69788	   6452	   4948	  81188	  13d24	ticker.exe
  20972	   1856	    788	  23616	   5c40	minimum.exe
 795748	  45828	  12841	 854417	  d0991	cxx_iostream.exe
 440586	  64864	  18160	 523610	  7fd5a	fileio.exe
 352650	  45644	  34152	 432446	  6993e	pppd.exe
 151172	  18400	   7844	 177416	  2b508	capture.exe
  84028	   6736	   5025	  95789	  1762d	nsecs.exe
 148268	  17500	   5512	 171280	  29d10	paranoia.exe
 145916	  12936	   5825	 164677	  28345	cdtest.exe
  67124	   6292	   4916	  78332	  131fc	base_sp.exe
  70452	   6508	   8760	  85720	  14ed8	unlimited.exe
  83800	   4788	   4920	  93508	  16d44	hello.exe
 221216	  18372	  12244	 251832	  3d7b8	loopback.exe

For the v850e2sim BSP variant with this option sample executables
sizes were as follows:

   text	   data	    bss	    	  dec	    	  hex	filename
  70155	   1552	   4924	  76631	  12b57	ticker.exe
  14156	    932	    776	  15864	   3df8	minimum.exe
 485650	   6508	  12030	 504188	  7b17c	cxx_iostream.exe
 485398	   5632	  17863	 508893	  7c3dd	fileio.exe
 351418	   8864	  33312	 393594	  6017a	pppd.exe
 159510	   2176	   7819	 169505	  29621	capture.exe
  84989	   1640	   5001	  91630	  165ee	nsecs.exe
 157973	   1920	   5488	 165381	  28605	paranoia.exe
 149880	   1936	   5801	 157617	  267b1	cdtest.exe
  66529	   1548	   4892	  72969	  11d09	base_sp.exe
  69847	   1576	   8736	  80159	  1391f	unlimited.exe
  81134	   1520	   4896	  87550	  155fe	hello.exe
 208878	   2800	  12080	 223758	  36a0e	loopback.exe

For the v850e2v3sim BSP variant without this option sample
executables sizes were as follows:

   text	   data	    bss	    	  dec	    	  hex	filename
  69784	   6452	   4948	  81184	  13d20	ticker.exe
  20972	   1856	    788	  23616	   5c40	minimum.exe
 791378	  45808	  12841	 850027	  cf86b	cxx_iostream.exe
 436576	  64848	  18160	 519584	  7eda0	fileio.exe
 348982	  45624	  34152	 428758	  68ad6	pppd.exe
 147420	  18380	   7844	 173644	  2a64c	capture.exe
  84020	   6736	   5025	  95781	  17625	nsecs.exe
 148736	  17480	   5512	 171728	  29ed0	paranoia.exe
 142216	  12916	   5825	 160957	  274bd	cdtest.exe
  67120	   6292	   4916	  78328	  131f8	base_sp.exe
  70448	   6508	   8760	  85716	  14ed4	unlimited.exe
  80048	   4768	   4920	  89736	  15e88	hello.exe
 217432	  18352	  12244	 248028	  3c8dc	loopback.exe

For the v850e2v3sim BSP variant with this option sample executables
sizes were as follows:

   text	   data	    bss	    	  dec	    	  hex	filename
  70151	   1552	   4924	  76627	  12b53	ticker.exe
  14156	    932	    776	  15864	   3df8	minimum.exe
 481408	   6508	  12030	 499946	  7a0ea	cxx_iostream.exe
 481378	   5632	  17863	 504873	  7b429	fileio.exe
 347740	   8864	  33312	 389916	  5f31c	pppd.exe
 155736	   2176	   7819	 165731	  28763	capture.exe
  84981	   1640	   5001	  91622	  165e6	nsecs.exe
 158331	   1920	   5488	 165739	  2876b	paranoia.exe
 146164	   1936	   5801	 153901	  2592d	cdtest.exe
  66525	   1548	   4892	  72965	  11d05	base_sp.exe
  69843	   1576	   8736	  80155	  1391b	unlimited.exe
  77363	   1520	   4896	  83779	  14743	hello.exe
 205082	   2800	  12080	 219962	  35b3a	loopback.exe

For the v850esim BSP variant without this option sample executables
sizes were as follows:

   text	   data	    bss	    	  dec	    	  hex	filename
  69626	   6452	   4948	  81026	  13c82	ticker.exe
  20920	   1856	    788	  23564	   5c0c	minimum.exe
 794782	  45828	  12841	 853451	  d05cb	cxx_iostream.exe
 440110	  64860	  18160	 523130	  7fb7a	fileio.exe
 351798	  45644	  34152	 431594	  695ea	pppd.exe
 150816	  18400	   7844	 177060	  2b3a4	capture.exe
  83850	   6736	   5025	  95611	  1757b	nsecs.exe
 147962	  17500	   5512	 170974	  29bde	paranoia.exe
 145458	  12936	   5825	 164219	  2817b	cdtest.exe
  66958	   6292	   4916	  78166	  13156	base_sp.exe
  70286	   6508	   8760	  85554	  14e32	unlimited.exe
  83606	   4788	   4920	  93314	  16c82	hello.exe
 220770	  18372	  12244	 251386	  3d5fa	loopback.exe

For the v850esim BSP variant with this option sample executables
sizes were as follows:

   text	   data	    bss	    	  dec	    	  hex	filename
  69971	   1552	   4924	  76447	  12a9f	ticker.exe
  14108	    932	    776	  15816	   3dc8	minimum.exe
 484692	   6508	  12030	 503230	  7adbe	cxx_iostream.exe
 484894	   5632	  17863	 508389	  7c1e5	fileio.exe
 350548	   8864	  33312	 392724	  5fe14	pppd.exe
 159138	   2176	   7819	 169133	  294ad	capture.exe
  84791	   1640	   5001	  91432	  16528	nsecs.exe
 157655	   1920	   5488	 165063	  284c7	paranoia.exe
 149416	   1936	   5801	 157153	  265e1	cdtest.exe
  66349	   1548	   4892	  72789	  11c55	base_sp.exe
  69669	   1576	   8736	  79981	  1386d	unlimited.exe
  80928	   1520	   4896	  87344	  15530	hello.exe
 208424	   2800	  12080	 223304	  36848	loopback.exe

For the v850essim BSP variant without this option sample executables
sizes were as follows:

   text	   data	    bss	    	  dec	    	  hex	filename
  76940	   6456	   4944	  88340	  15914	ticker.exe
  21896	   1860	    760	  24516	   5fc4	minimum.exe
 802270	  45832	  12837	 860939	  d230b	cxx_iostream.exe
 473916	  65152	  18156	 557224	  880a8	fileio.exe
 384288	  45724	  34148	 464160	  71520	pppd.exe
 161648	  18416	   7840	 187904	  2de00	capture.exe
  90856	   6740	   5021	 102617	  190d9	nsecs.exe
 158424	  17512	   5508	 181444	  2c4c4	paranoia.exe
 152938	  12948	   5821	 171707	  29ebb	cdtest.exe
  73808	   6296	   4912	  85016	  14c18	base_sp.exe
  77420	   6528	   8756	  92704	  16a20	unlimited.exe
  89692	   4792	   4916	  99400	  18448	hello.exe
 236138	  18396	  12240	 266774	  41216	loopback.exe

For the v850essim BSP variant with this option sample executables
sizes were as follows:

   text	   data	    bss	    	  dec	    	  hex	filename
  76739	   1552	   4920	  83211	  1450b	ticker.exe
  13682	    228	    748	  14658	   3942	minimum.exe
 491284	   6508	  12026	 509818	  7c77a	cxx_iostream.exe
 517952	   5632	  17859	 541443	  84303	fileio.exe
 379732	   8864	  33308	 421904	  67010	pppd.exe
 169182	   2176	   7815	 179173	  2bbe5	capture.exe
  91307	   1640	   4997	  97944	  17e98	nsecs.exe
 167431	   1920	   5484	 174835	  2aaf3	paranoia.exe
 156322	   1936	   5797	 164055	  280d7	cdtest.exe
  72591	   1548	   4888	  79027	  134b3	base_sp.exe
  76215	   1576	   8732	  86523	  151fb	unlimited.exe
  86346	   1520	   4892	  92758	  16a56	hello.exe
 221810	   2800	  12076	 236686	  39c8e	loopback.exe

For the v850sim BSP variant without this option sample executables
sizes were as follows:

   text	   data	    bss	    	  dec	    	  hex	filename
  79246	   6456	   4944	  90646	  16216	ticker.exe
  22440	   1860	    760	  25060	   61e4	minimum.exe
 874792	  46172	  12837	 933801	  e3fa9	cxx_iostream.exe
 484218	  65164	  18156	 567538	  8a8f2	fileio.exe
 396364	  45736	  34148	 476248	  74458	pppd.exe
 167214	  18416	   7840	 193470	  2f3be	capture.exe
  95154	   6744	   5021	 106919	  1a1a7	nsecs.exe
 162778	  17512	   5508	 185798	  2d5c6	paranoia.exe
 161270	  12984	   5821	 180075	  2bf6b	cdtest.exe
  76114	   6296	   4912	  87322	  1551a	base_sp.exe
  79726	   6528	   8756	  95010	  17322	unlimited.exe
  93578	   4792	   4916	 103286	  19376	hello.exe
 242848	  18396	  12240	 273484	  42c4c	loopback.exe

For the v850sim BSP variant with this option sample executables
sizes were as follows:

   text	   data	    bss	    	  dec	    	  hex	filename
  79045	   1552	   4920	  85517	  14e0d	ticker.exe
  13674	    228	    748	  14650	   393a	minimum.exe
 526914	   6508	  12026	 545448	  852a8	cxx_iostream.exe
 528264	   5632	  17859	 551755	  86b4b	fileio.exe
 391652	   8864	  33308	 433824	  69ea0	pppd.exe
 174748	   2176	   7815	 184739	  2d1a3	capture.exe
  95605	   1640	   4997	 102242	  18f62	nsecs.exe
 171785	   1920	   5484	 179189	  2bbf5	paranoia.exe
 164414	   1936	   5797	 172147	  2a073	cdtest.exe
  74897	   1548	   4888	  81333	  13db5	base_sp.exe
  78521	   1576	   8732	  88829	  15afd	unlimited.exe
  90232	   1520	   4892	  96644	  17984	hello.exe
 228424	   2800	  12076	 243300	  3b664	loopback.exe
2016-03-11 09:59:46 -06:00
Joel Sherrill
2533e79714 sparc64/usiii: Add per-section compilation and linking support
updates #2577.

For the usiii BSP variant without this option sample executables
sizes were as follows:

   text	   data	    bss	    	  dec	    	  hex	filename
 180608	   2752	2113472	2296832	 230c00	ticker.exe
 114112	   1760	2105312	2221184	 21e480	minimum.exe
1041392	   3168	2126160	3170720	 3061a0	cxx_iostream.exe
 712224	   8912	2129200	2850336	 2b7e20	fileio.exe
 595248	  21568	2147872	2764688	 2a2f90	pppd.exe
 291488	   3912	2117440	2412840	 24d128	capture.exe
 200496	   2888	2113616	2317000	 235ac8	nsecs.exe
 279344	   3392	2114112	2396848	 2492b0	paranoia.exe
 324656	   2768	2115328	2442752	 254600	cdtest.exe
 178624	   2752	2113440	2294816	 230420	base_sp.exe
 179152	   2752	2117216	2299120	 2314f0	unlimited.exe
 190944	   2688	2113424	2307056	 2333f0	hello.exe
 381296	  10752	2126400	2518448	 266db0	loopback.exe

For the usiii BSP variant with this option sample executables sizes
were as follows:

   text	   data	    bss	    	  dec	    	  hex	filename
 173312	   2632	2113184	2289128	 22ede8	ticker.exe
 102432	    328	2100928	2203688	 21a028	minimum.exe
 626544	   3032	2120400	2749976	 29f618	cxx_iostream.exe
 657584	   8792	2128640	2795016	 2aa608	fileio.exe
 555616	  21264	2146816	2723696	 298f70	pppd.exe
 280016	   3760	2117152	2400928	 24a2a0	capture.exe
 193792	   2768	2113312	2309872	 233ef0	nsecs.exe
 238528	   3264	2113808	2355600	 23f190	paranoia.exe
 277568	   2664	2115040	2395272	 248c88	cdtest.exe
 170592	   2624	2113152	2286368	 22e320	base_sp.exe
 169120	   2616	2112816	2284552	 22dc08	unlimited.exe
 180528	   2536	2109040	2292104	 22f988	hello.exe
 354992	  10528	2126016	2491536	 260490	loopback.exe
2016-03-11 09:59:45 -06:00