1 | 2002-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 | |
---|
10 | 2002-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 | |
---|
15 | 2001-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 | |
---|
36 | 2001-04-26 Joel Sherrill <joel@OARcorp.com> |
---|
37 | |
---|
38 | * src/objectcomparenamestring.c: Fix typos. |
---|
39 | |
---|
40 | 2001-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 | |
---|
50 | 2002-04-18 Ralf Corsepius <corsepiu@faw.uni-ulm.de> |
---|
51 | |
---|
52 | * include/rtems/system.h: Remove targopts.h. |
---|
53 | |
---|
54 | 2002-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 | |
---|
59 | 2002-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 | |
---|
66 | 2002-04-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de> |
---|
67 | |
---|
68 | * include/rtems/system.h: Add i386 to multilib-able targets. |
---|
69 | |
---|
70 | 2001-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 | |
---|
78 | 2002-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 | |
---|
84 | 2001-04-08 Joel Sherrill <joel@OARcorp.com> |
---|
85 | |
---|
86 | * macros/rtems/score/object.inl: Corrected arguments. |
---|
87 | |
---|
88 | 2001-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 | |
---|
94 | 2002-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 | |
---|
102 | 2002-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 | |
---|
110 | 2002-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 | |
---|
119 | 2002-01-29 Joel Sherrill <joel@OARcorp.com> |
---|
120 | |
---|
121 | * include/rtems/score/watchdog.h: Added WATCHDOG_MAXIMUM_INTERVAL. |
---|
122 | |
---|
123 | 2002-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 | |
---|
128 | 2001-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 | |
---|
135 | 2002-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 | |
---|
141 | 2001-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 | |
---|
147 | 2001-12-19 Ralf Corsepius <corsepiu@faw.uni-ulm.de> |
---|
148 | |
---|
149 | * src/Makefile.am: Add multilib support. |
---|
150 | |
---|
151 | 2001-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 | |
---|
160 | 2001-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 | |
---|
168 | 2001-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 | |
---|
177 | 2001-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 | |
---|
182 | 2001-10-16 Joel Sherrill <joel@OARcorp.com> |
---|
183 | |
---|
184 | * .cvsignore: Add stamp-h.in. |
---|
185 | |
---|
186 | 2001-10-16 Joel Sherrill <joel@OARcorp.com> |
---|
187 | |
---|
188 | * include/Makefile.am: Fixed path to cpuopts-tmp.h. |
---|
189 | |
---|
190 | 2001-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 | |
---|
203 | 2001-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 | |
---|
210 | 2001-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 | |
---|
217 | 2001-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 | |
---|
224 | 2001-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 | |
---|
237 | 2001-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 | |
---|
244 | 2001-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 | |
---|
250 | 2001-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 | |
---|
258 | 2001-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 | |
---|
266 | 2000-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 | |
---|
272 | 2001-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 | |
---|
277 | 2001-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 | |
---|
283 | 2001-01-29 Joel Sherrill <joel@OARcorp.com> |
---|
284 | |
---|
285 | * src/objectextendinformation.c: Added include of string.h to |
---|
286 | eliminate warning. |
---|
287 | |
---|
288 | 2001-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 | |
---|
293 | 2001-01-08 Ralf Corsepius <corsepiu@faw.uni-ulm.de> |
---|
294 | |
---|
295 | * src/threadinitialize.c: Removed warning. |
---|
296 | |
---|
297 | 2001-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 | |
---|
302 | 2000-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 | |
---|
307 | 2000-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 | |
---|
313 | 2000-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 | |
---|
321 | 2000-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 | |
---|
339 | 2000-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 | |
---|
348 | 2000-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 | |
---|
354 | 2000-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 | |
---|
359 | 2000-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 | |
---|
365 | 2000-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 | |
---|
370 | 2000-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 | |
---|
375 | 2000-09-04 Ralf Corsepius <corsepiu@faw.uni-ulm.de> |
---|
376 | |
---|
377 | * src/Makefile.am: Include compile.am. |
---|
378 | |
---|
379 | 2000-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 | |
---|
385 | 2000-08-17 Ralf Corsepius <corsepiu@faw.uni-ulm.de> |
---|
386 | |
---|
387 | * include/rtems/system.h: Include cpuopts.h for __i386__. |
---|
388 | |
---|
389 | 2000-08-10 Joel Sherrill <joel@OARcorp.com> |
---|
390 | |
---|
391 | * ChangeLog: New file. |
---|