source: rtems/cpukit/score/ChangeLog @ 0df8293e

4.104.114.84.9
Last change on this file since 0df8293e was 0df8293e, checked in by Joel Sherrill <joel.sherrill@…>, on May 15, 2002 at 3:14:58 PM

2002-05-15 Chris Johns <ccj@…>

  • include/rtems/score/thread.h, inline/rtems/score/thread.inl, src/threaddispatch.c, src/threadinitialize.c: Move the C library re-enterrant support directly into the thread dispatch code. RTEMS needs libc and so requiring libc to use a user extension with its overhead is not the best solution. This patch lowers the overhead to 2 pointer moves.
  • Property mode set to 100644
File size: 14.6 KB
Line 
12002-05-15      Chris Johns <ccj@acm.org>
2
3        * include/rtems/score/thread.h, inline/rtems/score/thread.inl,
4        src/threaddispatch.c, src/threadinitialize.c:
5        Move the C library re-enterrant support directly into
6        the thread dispatch code. RTEMS needs libc and so requiring
7        libc to use a user extension with its overhead is not the best
8        solution. This patch lowers the overhead to 2 pointer moves.
9
102002-05-03      Ralf Corsepius <corsepiu@faw.uni-ulm.de>
11
12        * include/Makefile.am: Work-around to autoconf-2.53 adding PACKAGE_*
13        to autoheaders - sed out *PACKAGE* from cpuopts-tmp.h.
14
152001-05-14      Till Straumann <strauman@slac.stanford.edu>
16
17        * src/threaddispatch.c, src/threadhandler.c: Per PR211 fix
18        saving/restoring floating point context.  The fpsave and fprestore
19        routines are only used in a executing context which _is_ fp and hence
20        has the FPU enabled. The current behavior required the FPU always to
21        be on which is very dangerous if lazy context switching is used. 
22        [Joel Note: Some ports explicitly enabled the FPU in the FP save and
23        restore routines to avoid this.]
24
25        The patch also makes sure (on powerpc only) that the FPU is disabled
26        for integer tasks. Note that this is crucial if deferred fp context
27        switching is used. Otherwise, fp context corruption may go undetected!
28        Also note that even tasks which merely push/pop FP registers to/from
29        the stack without modifying them still MUST be FP tasks - otherwise
30        (if lazy FP context switching is used), FP register corruption (of
31        other, FP, tasks may occur)!
32
33        Furthermore, (on PPC) by default, lazy FP context save/restore
34        is _disabled_.
35
362001-04-26      Joel Sherrill <joel@OARcorp.com>
37
38        * src/objectcomparenamestring.c: Fix typos.
39 
402001-04-26      Joel Sherrill <joel@OARcorp.com>
41
42        * include/rtems/score/object.h, inline/rtems/score/object.inl,
43        src/objectcomparenamestring.c: Address PR81 that
44        reworked POSIX message queues to add a descriptor separate from
45        the underlying message queue.  This allows non-blocking to follow
46        the "open" not the underlying queue.   As part of debugging this
47        it became clear that _Objects_Compare_name_string was broken
48        and a simple version using strncmp() was substituted.
49 
502002-04-18      Ralf Corsepius <corsepiu@faw.uni-ulm.de>
51
52        * include/rtems/system.h: Remove targopts.h.
53
542002-04-17      Ralf Corsepius <corsepiu@faw.uni-ulm.de>
55
56        * include/rtems/system.h: Add the sparc to the target supporting
57        multlibs.
58
592002-04-16      Chris Johns <ccj@acm.org>
60
61        * src/threadinitialize.c: Per PR181, clear the array of user extension
62        pointers. This lets user extensions that have hooked the switch handler
63        know if a task has been processed by the user extension before. If a
64        user extension is created after a task is started it may not know it.
65
662002-04-12      Ralf Corsepius <corsepiu@faw.uni-ulm.de>
67
68        * include/rtems/system.h: Add i386 to multilib-able targets.
69
702001-04-11      Joel Sherrill <joel@OARcorp.com>
71
72       
73        * macros/rtems/score/userext.inl: Now works after merging patch for
74        functionality requested in PR174.
75        * inline/rtems/score/userext.inl: Added a comment explaining the
76        order in which routines appear since it is not the obvious order.
77 
782002-04-08      Chris Johns <ccj@acm.org>
79
80        * Per PR141 and PR174, make task switch extension its own list and
81        fix all odd problems introduced by providing macro version.
82        * inline/rtems/score/userext.inl: Fix.
83
842001-04-08      Joel Sherrill <joel@OARcorp.com>
85
86        * macros/rtems/score/object.inl: Corrected arguments.
87 
882001-04-08      Joel Sherrill <joel@OARcorp.com>
89
90        * macros/rtems/score/userext.inl: Updated to reflect modifications
91        to inline version from PR142.
92        * inline/rtems/score/userext.inl: Cleanup as side-effect of above.
93 
942002-04-08      Chris Johns <ccj@acm.org>
95
96        * Per PR142, make task switch extension its own list.
97        * include/rtems/score/userext.h: Reflect above by adding
98        User_extensions_Switch_control and adding it to User_extenions_Control.
99        * inline/rtems/score/userext.inl: Allocate all memory in one chunk
100        to minimize overhead.  Address processing dedicated switch chain.
101
1022002-04-08      Chris Johns <ccj@acm.org>
103
104        * Per PR142, make task switch extension its own list.
105        * include/rtems/score/userext.h: Reflect above by adding
106        User_extensions_Switch_control and adding it to User_extenions_Control.
107        * inline/rtems/score/userext.inl: Allocate all memory in one chunk
108        to minimize overhead.  Address processing dedicated switch chain.
109
1102002-03-27      Ralf Corsepius <corsepiu@faw.uni-ulm.de>
111
112        * cpu/Makefile.am: Remove AUTOMAKE_OPTIONS.
113        * src/Makefile.am: Remove AUTOMAKE_OPTIONS.
114        * Makefile.am: Remove AUTOMAKE_OPTIONS.
115        * include/Makefile.am: Remove AUTOMAKE_OPTIONS.
116        * inline/Makefile.am: Remove AUTOMAKE_OPTIONS.
117        * macros/Makefile.am: Remove AUTOMAKE_OPTIONS.
118
1192002-01-29      Joel Sherrill <joel@OARcorp.com>
120
121        * include/rtems/score/watchdog.h: Added WATCHDOG_MAXIMUM_INTERVAL.
122
1232002-01-19      Ralf Corsepius <corsepiu@faw.uni-ulm.de>
124
125        * include/rtems/system.h: Fix typo in yesterday's change:
126        RTEMS_MULTILIBS.
127
1282001-01-18      Joel Sherrill <joel@OARcorp.com>
129
130        * include/rtems/system.h: Only include cpuopts.h when building a
131        multilib configuration.  Some ports still need targopts.h but this
132        small modification lets those ports work non-multilib while
133        fixing being fixed for multilib.
134       
1352002-01-04      Ralf Corsepius <corsepiu@faw.uni-ulm.de>
136
137        * include/rtems/seterr.h: Add do {..} while (0) in defines.
138        Rename set_errno_and_return_minus_one into
139        rtems_set_errno_and_return_minus_one.
140
1412001-12-19      Ralf Corsepius <corsepiu@faw.uni-ulm.de>
142
143        * inline/rtems/score/object.inl, macros/rtems/score/object.inl: Add
144        add casts to Objects_Id in _Objects_Build_ids to avoid implicit
145        typecasts from enum to int16 on bit16 targets (here: h8300).
146
1472001-12-19      Ralf Corsepius <corsepiu@faw.uni-ulm.de>
148
149        * src/Makefile.am: Add multilib support.
150
1512001-11-28      Joel Sherrill <joel@OARcorp.com>,
152
153        This was tracked as PR91.
154        * include/rtems/score/isr.h, inline/rtems/score/isr.inl,
155        macros/rtems/score/isr.inl: Modified to allow any port to provide
156        its own implementation of the macro _ISR_Is_in_progress.  If the
157        port overrides this macro, it must provide a non-inlined function
158        implementation.
159
1602001-11-20      Joel Sherrill <joel@OARcorp.com>
161
162        * src/threadhandler.c: When __USE__MAIN__ is defined by the toolset,
163        invoke the global constructors via __main.  Reported as tested by
164        Alexandra Kossovsky <sasha@oktet.ru> and  Victor V. Vengerov
165        <vvv@oktet.ru> in conjunction with a new set of tool RPMs
166        (gcc2.95.3newlib1.9.0-3).  This was tracked as GNATS PR tools/84.
167
1682001-11-07      Joel Sherrill <joel@OARcorp.com>
169
170        Reported by Todor.Todorov@barco.com and tracked as PR36.
171        * include/rtems/score/object.h: Added prototype for
172        _Objects_Get_by_index().
173        * src/objectget.c, src/objectgetisr.c: Corrected procedure for
174        getting index from Id so it is correct and optimal for both single
175        and multiprocessor configurations.
176
1772001-10-22      Joel Sherrill <joel@OARcorp.com>
178
179        * src/threadhandler.c: Use __USE_INIT_FINI__ since USE_INIT_FINI
180        pollutes the application namespace.
181
1822001-10-16      Joel Sherrill <joel@OARcorp.com>
183
184        * .cvsignore: Add stamp-h.in.
185
1862001-10-16      Joel Sherrill <joel@OARcorp.com>
187
188        * include/Makefile.am: Fixed path to cpuopts-tmp.h.
189
1902001-10-16      Ralf Corsepius <corsepiu@faw.uni-ulm.de>
191
192        * include/rtems/Makefile.am: Remove.
193        * include/rtems/Makefile.am: Remove.
194        * include/Makefile.am: Handle subdirs, require automake-1.5.
195        * macros/rtems/Makefile.am: Remove.
196        * macros/rtems/score/Makefile.am: Remove.
197        * macros/Makefile.am: Handle subdirs, require automake-1.5.
198        * inline/rtems/Makefile.am: Remove.
199        * inline/rtems/score/Makefile.am: Remove.
200        * inline/Makefile.am: Handle subdirs, require automake-1.5.
201        * Makefile.am: require automake-1.5
202
2032001-09-28      Ralf Corsepius <corsepiu@faw.uni-ulm.de>
204
205        * include/rtems/score/Makefile.am: Use 'PREINSTALL_FILES ='.
206        * include/rtems/Makefile.am: Use 'PREINSTALL_FILES ='.
207        * inline/rtems/score/Makefile.am: Use 'PREINSTALL_FILES ='.
208        * macros/rtems/score/Makefile.am: Use 'PREINSTALL_FILES ='.
209
2102001-09-27      Eric Norum <eric.norum@usask.ca>
211
212        * src/threadhandler.c: Now process C++ global constructors
213        (_init) as part of the first task execution not in BSP space.
214        This depends on the toolset defining USE_INIT_FINI so you
215        have to have the right toolset version.
216
2172001-09-23      Ralf Corsepius <corsepiu@faw.uni-ulm.de>
218
219        * include/rtems/score/Makefile.am: Use 'PREINSTALL_FILES ='.
220        * include/rtems/Makefile.am: Use 'PREINSTALL_FILES ='.
221        * inline/rtems/score/Makefile.am: Use 'PREINSTALL_FILES ='.
222        * macros/rtems/score/Makefile.am: Use 'PREINSTALL_FILES ='.
223
2242001-08-30      Joel Sherrill <joel@OARcorp.com>
225
226        *  src/coremutex.c, src/coremutexseize.c, src/coremutexsurrender.c,
227        inline/rtems/score/coremutex.inl: The per thread field resource_count
228        should only be manipulated when a mutex is priority ceiling or
229        priority inherit.  This was reported by Chris Johns <ccj@acm.org>
230        who also noticed that the use of switches for all disciplines
231        generated less efficient code than using explicit tests for the one
232        or two cases we were really interested in.  Further review of his
233        modifications made it apparent that the "isa" methods to test mutex
234        discipline were not being used so this modification was swept into
235        the code as well.
236
2372001-08-30      Joel Sherrill <joel@OARcorp.com>
238
239        * src/coremutexseize.c: Add missing code for proper handling
240        of nesting acquisitions.  This only impacts building with
241        inlines disabled on the source with the "fast mutex" optimizations.
242        This was post the 4.5 branch and did not impact released versions.
243
2442001-08-16      Joel Sherrill <joel@OARcorp.com>
245
246        * src/coremutexsurrender.c: Use holder thread not executing
247        thread because even though they may and often are the same
248        it is not guaranteed unless the proper attribute is set.
249
2502001-08-16      Joel Sherrill <joel@OARcorp.com>
251
252        * include/rtems/score/coremsg.h, src/coremsgsubmit.c: Add a new
253        return status to account for blocking sends.  Otherwise, the
254        caller will think that the returned message status will have
255        the ultimate results of the operation.  If the send times out,
256        the final status will be in the return_code of the thread.
257
2582001-08-09      Joel Sherrill <joel@OARcorp.com>
259
260        * include/rtems/score/coremsg.h, inline/rtems/score/coremsg.inl,
261        src/coremsgsubmit.c: Unblocking message queue operations should
262        NOT use _Thread_Executing for return status since it is permissible
263        to invoke message send operations from an ISR.  This was reported
264        by Suvrat Gupta <suvrat@utstar.com>.
265
2662000-05-25      Sergei Organov <osv@javad.ru>
267
268        * macros/rtems/score/coresem.inl, inline/rtems/score/coresem.inl:
269        Cut and paste problem incorrectly enabled interrupts twice with
270        the first time being too early.
271
2722001-05-09      Ralf Corsepius <corsepiu@faw.uni-ulm.de>
273
274        * include/rtems/score/.cvsignore: Add stamp-h, cpuopts.h,
275        cpuopts.h.in, cpuopts-tmp.h.
276
2772001-02-03      Ralf Corsepius <corsepiu@faw.uni-ulm.de>
278
279        * include/rtems/Makefile.am, include/rtems/score/Makefile.am,
280        inline/rtems/score/Makefile.am, macros/rtems/score/Makefile.am
281        Apply include_*HEADERS instead of H_FILES.
282
2832001-01-29      Joel Sherrill <joel@OARcorp.com>
284
285        * src/objectextendinformation.c: Added include of string.h to
286        eliminate warning.
287
2882001-01-08      Joel Sherrill <joel@OARcorp.com>
289
290        * src/threadinitialize.c: Fix my bad hack of Ralf's fp_area
291        warning removal patch. :(
292
2932001-01-08      Ralf Corsepius <corsepiu@faw.uni-ulm.de>
294
295        * src/threadinitialize.c: Removed warning.
296
2972001-01-03      Joel Sherrill <joel@OARcorp.com>
298
299        * src/isr.c: Modify to properly dereference _ISR_Vector_table
300        now that it is dynamically allocated.
301
3022000-12-19      Joel Sherrill <joel@OARcorp.com>
303
304        * src/isr.c: Allocate the _ISR_Vector_table all the time not just when
305        we are allocating an interrupt stack.
306
3072000-12-13      Joel Sherrill <joel@OARcorp.com>
308
309        * include/rtems/score/isr.h, src/isr.c: Allocate it from the
310        workspace rather than explicitly declaring it.  This allows
311        the size to be a non-constant from the perspective of score/cpu.
312
3132000-12-01      Joel Sherrill <joel@OARcorp.com>
314
315        * macros/rtems/score/coresem.inl: Removed comments since convention
316        calls for comments to be in inline versin.
317        * macros/rtems/score/object.inl (Objects_Get_local_object): Fixed
318        style to use _ prefix on variable names and use parentheses.
319        * macros/rtems/score/object.inl (_Objects_Namespace_remove): Added.
320
3212000-11-30      Joel Sherrill <joel@OARcorp.com>
322
323        * General effort to make things compile with macros not inlines
324        * inline/rtems/score/coremutex.inl: Added comment indicating
325        for macros there is another copy of
326        _CORE_mutex_Seize_interrupt_trylock() in src/coremutexseize.c.
327        * src/coremutexseize.c: Added body of
328        _CORE_mutex_Seize_interrupt_trylock() for macro case.
329        * macros/rtems/score/coremutex.inl: Added prototype for
330        _CORE_mutex_Seize_interrupt_trylock() since there is a real
331        body when macros are enabled.
332        * macros/rtems/score/coresem.inl: Added macro implementation of
333        _CORE_semaphore_Seize_isr_disable.
334        * macros/score/Makefile.am: Fixed typos.
335        * rtems/score/address.inl: Correct macro implementation of
336        _Addresses_Is_aligned() so it would compile.
337        * macros/rtems/score/coremsg.inl: Added closing parentheses.
338       
3392000-11-28      Chris Johns <ccj@acm.org>
340
341        * src/heapallocate.c: Do not allow the size to overflow when
342        adjusting it.  A test allocated a stack of -1 (~0). This
343        actually resulted in a stack being allocated but with a
344        size of 0xb. The allocator did not test the size to see if
345        it rolled through 0 and so allowed the allocation to happen, the
346        thread to get created. The task crashed as you would expect.
347
3482000-11-02      Joel Sherrill <joel@OARcorp.com>
349
350        * include/rtems/system.h: Use proper conditional (RTEMS_POSIX_API)
351        so prototypes for POSIX_MP_NOT_IMPLEMENTED(), POSIX_NOT_IMPLEMENTED(),
352        POSIX_BOTTOM_REACHED() are actually included.
353
3542000-11-02      Joel Sherrill <joel@OARcorp.com>
355
356        * include/rtems/system.h: Add prototypes for POSIX_MP_NOT_IMPLEMENTED(),
357        POSIX_NOT_IMPLEMENTED(), POSIX_BOTTOM_REACHED() removed from newlib.
358
3592000-10-18      Nick Simon <Nick.SIMON@syntegra.bt.co.uk>
360
361        * src/heapgetinfo.c, include/rtems/score/heap.h, src/Makefile.am:
362        Added _Heap_Get_information() and information control block.
363        * src/heapgetinfo.c: New file.
364
3652000-09-25      Joel Sherrill <joel@OARcorp.com>
366
367        * rtems/system.h: Switched a29k and hppa1.1 to using cpuopts.h not
368        targopts.h to reduce dependency on BSP.
369
3702000-09-20      Joel Sherrill <joel@OARcorp.com>
371
372        * src/objectgetbyindex.c: Do not enable dispatching on an
373        error path it was not disabled on.
374
3752000-09-04      Ralf Corsepius <corsepiu@faw.uni-ulm.de>
376
377        * src/Makefile.am: Include compile.am.
378
3792000-08-30      Joel Sherrill <joel@OARcorp.com>
380
381        * Many files: Moved posix/include/rtems/posix/seterr.h to
382        score/include/rtems/seterr.h so it would be available within
383        all APIs.
384
3852000-08-17      Ralf Corsepius <corsepiu@faw.uni-ulm.de>
386
387        * include/rtems/system.h: Include cpuopts.h for __i386__.
388
3892000-08-10      Joel Sherrill <joel@OARcorp.com>
390
391        * ChangeLog: New file.
Note: See TracBrowser for help on using the repository browser.