]> git.kernelconcepts.de Git - karo-tx-redboot.git/blob - packages/compat/uitron/v2_0/ChangeLog
Initial revision
[karo-tx-redboot.git] / packages / compat / uitron / v2_0 / ChangeLog
1 2005-08-02  Andrew Lunn  <andrew.lunn@ascom.ch>
2
3         * tests/test2.c (task1): Cast to fix compiler warning.
4
5 2003-02-24  Jonathan Larmour  <jifl@eCosCentric.com>
6
7         * cdl/uitron.cdl: Update doc link.
8
9 2002-05-27  Jesper Skov  <jskov@redhat.com>
10
11         * cdl/uitron.cdl: Don't build C tests when C++ options selected.
12
13 2002-05-22  Nick Garnett  <nickg@redhat.com>
14
15         * doc/uitron.sgml: Fixed dangling xref.
16
17 2002-02-19  Mark Salter  <msalter@redhat.com>
18
19         * doc/uitron.sgml: Fixed typos and such.
20
21 2002-02-14  Hugo Tyson  <hmt@redhat.com>
22
23         * doc/uitron.sgml: General polishing... Tidied up broken emPHAsis
24         on closing parentheses of function lists.  Reduced line length of
25         same to fit real paper, I hope.  Added LITERAL tags all over
26         config option mentions.
27
28         New stuff... Added a whole new section "[u]ITRON Configuration
29         FAQ" based on some email answers I have given in the past in
30         support of customers.
31
32 2002-02-13  Hugo Tyson  <hmt@redhat.com>
33
34         * doc/uitron.sgml: NEW FILE: Make id tags qualified with
35         compat-uitron- and add a couple of tags; tidy up formatting of
36         some function listings; correct comment on using functions in your
37         own DSRs and ISRs.
38
39 2002-01-24  Jesper Skov  <jskov@redhat.com>
40
41         * include/uit_func.inl (ena_int, dis_int): Wrap
42         HAL_MASK_INTERRUPT/HAL_UNMASK_INTERRUPT in interrupt
43         disable/restore pairs.
44         * tests/testintr.cxx (detach_isr, attach_isr): Change order of
45         mask/unmask and disable/restore.
46
47 2001-04-30  Jonathan Larmour  <jlarmour@redhat.com>
48
49         * src/uit_objs.cxx: Workaround xscale tools preprocessor bug
50         by avoiding determining the stack size with the preprocessor.
51         * cdl/tasks.cdl (CYGDAT_UITRON_TASK_EXTERNS and 
52         CYGDAT_UITRON_TASK_INITIALISERS): Ditto
53
54 2001-04-21  Bart Veer  <bartv@redhat.com>
55
56         * tests/testintr.cxx (task1):
57         Disable one of the tests on the synthetic target, it requires
58         consistent cpu timing that cannot be guaranteed.
59
60 2000-11-01  Jesper Skov  <jskov@redhat.com>
61
62         * include/uit_func.inl: CYG_SCHED_UNIQUE_PRIORITIES changed to
63         CYGINT_KERNEL_SCHEDULER_UNIQUE_PRIORITIES
64
65 2000-09-13  Jonathan Larmour  <jlarmour@redhat.com>
66
67         * include/uit_objs.hxx (CYG_UITRON_OBJS_INIT_PRIORITY): Define
68         with correct priority now.
69
70 2000-08-03  Jonathan Larmour  <jlarmour@redhat.co.uk>
71
72         * include/uit_func.inl (ref_mpf): Compute used blocks from
73         bytes used / blocks size rather than now obsolete blockcount member
74
75 2000-07-04  Jonathan Larmour  <jlarmour@redhat.co.uk>
76
77         * include/uit_func.inl: Update all memory pool related functions to
78         reflect the new interface to memory pools, and that they come from
79         the new CYGPKG_MEMALLOC package
80
81         * cdl/uitron.cdl: CYGPKG_UITRON_MEMPOOLFIXED and
82         CYGPKG_UITRON_MEMPOOLVAR require the CYGPKG_MEMALLOC package
83
84         * include/uit_objs.hxx: Update includes - memory pool implementations
85         are now in CYGPKG_MEMALLOC
86
87 2000-06-15  Gary Thomas  <gthomas@redhat.com>
88
89         * include/uit_ifnc.h (CYGPRI_UITRON_SET_RETCODE): Always return
90         'HANDLED'.  This fixes some confusion when interrupt chaining.
91
92 2000-05-15  Hugo Tyson  <hmt@cygnus.co.uk>
93
94         * include/uit_ifnc.h (cyg_uitron_dsr): make this be extern "C"
95         always; it went wrong when uitron funcs are inline or C++.
96
97         * src/uit_ifnc.cxx (CYGIMP_UITRON_INLINE_FUNCS): When [re]defining
98         this, match what CDL defined.  Warnings--;
99
100 2000-05-08  Jesper Skov  <jskov@redhat.com>
101
102         * tests/testintr.cxx (attach_isr, detach_isr): Don't check for
103         clean vector after a detach when chaining is enabled.
104
105 2000-03-28  Jesper Skov  <jskov@redhat.com>
106
107         * tests/testintr.cxx: Synchronize with clock before making timer
108         measurement.
109
110 2000-03-28  John Dallaway  <jld@cygnus.co.uk>
111
112         * cdl/uitron.cdl:
113
114         Adjust documentation URLs.
115
116 2000-03-22  Jesper Skov  <jskov@redhat.com>
117
118         * include/uit_ifnc.h (ret_int): Fix compiler warning.
119
120 2000-03-13  Jesper Skov  <jskov@redhat.com>
121
122         * tests/testintr.cxx: Don't try to disable clock on PowerPC.
123
124 2000-03-03  Hugo Tyson  <hmt@cygnus.co.uk>
125
126         * tests/testintr.cxx (task1): Only test ena_int() and dis_int()
127         for E_PAR if CYGSEM_UITRON_BAD_PARAMS_RETURN_ERRORS.
128
129 2000-02-28  Hugo Tyson  <hmt@cygnus.co.uk>
130
131         * include/uit_func.h: add ena_int() and dis_int().
132
133         * include/uit_func.inl (dis_int): New function added.
134         (ena_int): New function added.
135
136         * tests/testintr.cxx (task1): Add a test of ena_int() and
137         dis_int(); easiest done here because we have an interrupt number -
138         for the clock - in our hands here already for the rest of the
139         test.
140
141 2000-02-02  Jesper Skov  <jskov@redhat.com>
142
143         * tests/testintr.cxx: Don't output DELAYLOCKSCHED quite so often
144         on synthetic target.
145
146 2000-01-31  Hugo Tyson  <hmt@cygnus.co.uk>
147
148         * tests/testintr.cxx (CHECK_TID): Test that get_tid() returns 0 in
149         ISR context ie. non-task portion.
150
151         * include/uit_func.inl (get_tid): Check the sched lock for
152         non-task portions, ie. ISR/DSR will have the scheduler locked.
153
154 2000-01-31 Simon FitzMaurice  <sdf@cygnus.co.uk>
155   * compat/uitron/current/cdl/uitron.cdl
156
157   Adjust help URLs in line with new doc layout.
158
159 2000-01-28 Simon FitzMaurice  <sdf@cygnus.co.uk>
160   * compat/uitron/current/cdl/uitron.cdl
161
162   Adjust help URLs in line with new doc layout.
163
164 2000-01-28  Jonathan Larmour  <jlarmour@redhat.co.uk>
165
166         * tests/testintr.cxx (DELAYLOCKSCHED): When in long testing loops,
167         occasionally output a message to show the test is still alive
168
169 2000-01-26  Hugo Tyson  <hmt@cygnus.co.uk>
170
171         * include/pkgconf/uitron.h: Add new option
172         CYGSEM_UITRON_TIME_IS_MILLISECONDS to control just what it says.
173
174         * include/uit_func.inl (CYG_UITRON_TIME_UIT_TO_SYS32): et al; new
175         macros optionally to convert to/from milliSeconds if option
176         CYGSEM_UITRON_TIME_IS_MILLISECONDS is set.
177
178         * src/uit_func.cxx: Initialize Cyg_Clock::converter type objects
179         if the time unit is set to milliSeconds.
180
181         * cdl/uitron.cdl: Add new option
182         CYGSEM_UITRON_TIME_IS_MILLISECONDS to control just what it says.
183
184         Add an include of the kernel config file to the generated
185         pkgconf/uitron.h: tests at the very least need it!  This is a
186         correct thing to do because the kernel config defines a lot of the
187         semantics of the uITRON layer, as well as being needed for
188         backward compatibility.
189
190         Also add uit_ifnc.cxx to the files that need compiling.  Due to
191         the previous screwup, no testing has been applied to the uITRON
192         system under CDL, because it thought the kernel was absent, so
193         this had not been detected.  Doh.
194
195 2000-01-25  Jesper Skov  <jskov@cygnus.co.uk>
196
197         * tests/testintr.cxx (cyg_start): externC addded.
198
199 2000-01-19  Hugo Tyson  <hmt@cygnus.co.uk>
200
201         * cdl/*.cdl: Add descriptions to a number of options &c which were
202         lacking same, also tidied up other typos as noticed en passant.
203
204 1999-11-09  Jonathan Larmour  <jlarmour@cygnus.co.uk>
205
206         * src/uit_objs.cxx: Make the stack size failsafe be tested against
207         the minimum stack size, not the typical one.
208
209 1999-11-03  John Dallaway  <jld@cygnus.co.uk>
210
211         * cdl/uitron.cdl: Define tests.
212
213 1999-10-07  John Dallaway  <jld@cygnus.co.uk>
214
215         * cdl/uitron.cdl: Specify radio buttons using CDL interfaces.
216
217 1999-09-06  Jonathan Larmour  <jlarmour@cygnus.co.uk>
218
219         * include/uit_objs.hxx (CYG_UITRON_OBJS_INIT_PRIORITY): Revert the
220         below change - we may still be shipping antiquated compilers to
221         customers. Sigh.
222
223 1999-09-02  Hugo Tyson  <hmt@cygnus.co.uk>
224
225         * include/uit_objs.hxx (CYG_UITRON_OBJS_INIT_PRIORITY): Enable
226         using init priority on uitron objects, now that the compilers all
227         support it fully.  AFAI can tell from a quite broad experiment.
228
229 1999-09-01  Hugo Tyson  <hmt@cygnus.co.uk>
230
231         * tests/testintr.cxx (attach_isr): Make it all work: my chosen
232         default interrupt "level" of 0 means make no interrupts on the
233         tx39 ;-( oh well.  Made the whole test simulator-friendly ie. much
234         shorter, made the output more friendly to me.
235
236 1999-08-26  Hugo Tyson  <hmt@cygnus.co.uk>
237
238         * cdl/uitron.cdl (CYGNUM_UITRON_ISR_ACTION_QUEUESIZE): add a
239         "default_value 32" - ooops.
240
241 1999-08-26  Hugo Tyson  <hmt@cygnus.co.uk>
242
243         * cdl/uitron.cdl: Add configury for lovely new interrupt-safe
244         functions: just "try immediate execution" [is the sched lock one?]
245         and queue size.
246
247         * include/pkgconf/uitron.h: Add configury for lovely new
248         interrupt-safe functions: just "try immediate execution" [ie. if
249         the sched lock is one] and queue size.
250
251         * include/uit_ifnc.inl: Respond to general configury wrt the
252         presence of semas, flags, mboxes: only define the ixxx_yyy()
253         function if the corresponding xxx_yyy() func exists.  Remove the
254         static definitions of the configuration symbols.
255
256         * src/uit_ifnc.cxx: Respond to general configury wrt the presence
257         of semas, flags, mboxes: the functions called may not exist!
258
259 1999-08-25  Hugo Tyson  <hmt@cygnus.co.uk>
260
261         * include/uit_ifnc.h: New file.  Prototypes of interrupt-safe
262         ixxx_yyy() style functions as a porting/backwards-compatibility
263         aid.  Prototype of a suitable DSR to mate with an ISR that uses
264         them too.
265
266         * include/uit_ifnc.inl: New file.  Bodies for possible inlining of
267         the ixxx_yyy() style functions; organized much like the standard
268         uITRON functions.
269
270         * src/uit_ifnc.cxx: New file.  Implementation of the DSR provided,
271         plus concrete instantiations of the ixxx_yyy() style functions.
272
273         * tests/testintr.cxx: New file.  Test for the ixxx_yyy() functions
274         newly provided above.  Rather unpleasant: it is necessary to break
275         type-safety to get access to the kernel's interrupt object that
276         drives the realtime clock.  Perhaps a neater way will follow.
277
278         * tests/PKGconf.mak (TESTS): Add new testcase testintr.cxx
279         * src/PKGconf.mak (COMPILE): Add new source file uit_ifnc.cxx
280
281 1999-08-17  John Dallaway  <jld@cygnus.co.uk>
282
283         * cdl/uitron.cdl: Implement radio buttons using
284         "FIXME radio" hack in description field for now.
285
286 1999-07-30  John Dallaway  <jld@cygnus.co.uk>
287
288         * cdl/uitron.cdl: Tidy display string capitalisation.
289
290 1999-05-26  Jesper Skov  <jskov@cygnus.co.uk>
291
292         * tests/testcx7.cxx: Include new stackmon header.
293
294 1999-05-20  Hugo Tyson  <hmt@cygnus.co.uk>
295
296         * tests/testcx7.cxx (task1): Add some statistics dumping about
297         stack usage; since this is quite a long and arduous test.  This
298         just helps en passant with testing the interrupt stack work that's
299         been happening recently.  C++ only, so not for test7.
300
301 1999-05-17  Hugo Tyson  <hmt@masala.cygnus.co.uk>
302
303         * include/uit_func.inl (ter_tsk): Only up the priority of the
304         killee if priorities are not unique or we are not already
305         elevated.  This is to prevent asserts with the bitmap scheduler.
306         (chg_pri): Support a level X feature, pri zero => reset to the
307         thread's initial priority.
308
309 1999-05-14  Hugo Tyson  <hmt@masala.cygnus.co.uk>
310
311         * include/uit_objs.hxx: object array declaration macro now
312         contains constructor priority ordering rune; if 0'd out pending 
313         99r1 compiler cutover.
314
315 1999-04-23  Hugo Tyson  <hmt@cygnus.co.uk>
316
317         * tests/testcx7.cxx: T2_MALLOC definition; only make it smaller
318         than the main consumer malloc if coaleasing is enabled, otherwise
319         the mempool cannot allocate blocks for the consumer for next time.
320         Fixes PR 18817 - only a random perm disable coalescence.
321
322         * tests/test7.c: Ditto.
323
324 1999-04-15  John Dallaway  <jld@cygnus.co.uk>
325
326         * include/pkgconf/uitron.h: Tidy display string capitalization.
327
328 1999-04-09  Hugo Tyson  <hmt@cygnus.co.uk>
329
330         * include/uit_func.inl (dis_dsp): Remove bad old code which used
331         to lock the scheduler to implement dis_dsp() and ena_dsp() - which
332         also stopped the clock, for example.  Instead change the calling
333         thread's priority to 0 internally so that it cannot be preempted
334         by uITRON threads at least, whose priorities are 1--N.  Same
335         applies to loc/unl_cpu().  Save the "real" priority in a static,
336         and take notice of it everywhere relevant, such as thread and
337         system state inquiries, changing (our own) priority, checking for
338         dispatch enabled in sleeping calls, and so on.
339
340         * src/uit_func.cxx: New variable cyg_uitron_dis_dsp_old_priority
341         for holding the "real" priority of a thread whilst we change our
342         priority to zero (the highest) to prevent dispatching in dis_dsp()
343         or loc_cpu().
344
345         * include/uit_func.inl (get_tid): Return 0 for the task id if not
346         in a uITRON thread, this is better conformance to the spec.
347
348 1999-03-22  Hugo Tyson  <hmt@cygnus.co.uk>
349
350         * src/uit_objs.cxx: 
351         Use CYGNUM_HAL_STACK_SIZE_TYPICAL for the stack size instead of
352         CYGNUM_HAL_MINIMUM_STACK_SIZE.
353
354 1999-02-23  Jonathan Larmour  <jlarmour@cygnus.co.uk>
355
356         * tests/test1.c, tests/test2.c, tests/test3.c, tests/test4.c,
357           tests/test5.c, tests/test6.c, tests/test7.c, tests/test8.c,
358           tests/test9.c, tests/testcxx.cxx, tests/testcx2.cxx,
359           tests/testcx3.cxx, tests/testcx4.cxx, tests/testcx5.cxx,
360           tests/testcx6.cxx, tests/testcx7.cxx, tests/testcx8.cxx,
361           tests/testcx9.cxx:
362         Change all non-applicable cases to use CYG_TEST_NA rather than
363         CYG_TEST_PASS/CYG_TEST_EXIT
364
365 1999-02-22  Hugo Tyson  <hmt@cygnus.co.uk>
366
367         * src/uit_objs.cxx: Eeeek!  Previous fix was bogus: the override
368         was too late in the file to take effect.  The declaration of the
369         objects (including stacks) is moved to below the override CPP
370         runes.
371
372 1999-02-12  Hugo Tyson  <hmt@cygnus.co.uk>
373
374         * src/uit_objs.cxx (CYG_UITRON_DECL):
375         Override CYGNUM_UITRON_STACK_SIZE if CYGNUM_HAL_MINIMUM_STACK_SIZE
376         demands it.
377
378         * include/pkgconf/uitron.h (CYGNUM_UITRON_STACK_SIZE): 
379         Document that this option can be overridden by HALs demands.
380
381 1999-02-02  Jesper Skov  <jskov@cygnus.co.uk>
382         PR 18968
383         * tests/test2.c (task1): 
384         * tests/testcx2.cxx (task1): 
385         Reduce run time on SIM.
386
387 1999-01-26  Jesper Skov  <jskov@cygnus.co.uk>
388         PR 18788
389         * tests/test4.c (task1): 
390         * tests/testcx4.cxx (task1): 
391         Extend timeouts when running on HW to avoid failures due to
392         overhead of GDB interaction.
393
394 1999-01-25  Jesper Skov  <jskov@cygnus.co.uk>
395         PR 18576
396         * include/pkgconf/uitron.h (CYGDAT_UITRON_SEMA_INITIALIZERS): 
397         Let default initializers have values that don't cause tests to
398         fail.
399
400 1998-11-25  Hugo Tyson  <hmt@cygnus.co.uk>
401
402         * include/uit_func.inl (del_xxx &c):
403         Make error returns more consistent; E_NOEXS rather than E_OBJ if
404         the object disappeared during a race.
405
406 1998-11-19  Hugo Tyson  <hmt@cygnus.co.uk>
407
408         * src/uit_func.cxx (SET_UP_PTRS): 
409         PR 17999; work around codegen bug on tx39 with -Os.
410         The code is better with the fix regardless, so it's got no
411         downside.  Explicitly condition whether to run a follow-on loop
412         rather than letting the for-loop sort it out itself.
413
414 1998-11-16  Hugo Tyson  <hmt@cygnus.co.uk>
415
416         * tests/testcx7.cxx (check_waitstate): 
417         Add a routine to check the reported waiting state of the synch
418         object in question, and call it as necessary.  This only added to
419         the C++ version of the test for enhanced coverage, in case the
420         enquiry call perturbs the object state; having both versions
421         present is better.  This checks a very recent fix to
422         kernel...thread.cxx (1998-10-27).
423
424 1998-10-21  Hugo Tyson  <hmt@cygnus.co.uk>
425
426         * src/uit_func.cxx: 
427         Provide weakly named dummies for task[1-4], which are the defaults
428         referred to by the task array, so that the uITRON system can be
429         initialized even when no uITRON tasks have been provided (so long
430         as no other changes to the task init configury have been made)
431         This does not pollute the namespace, for these are weak symbols.
432         Changing them to cyg_uitron_task... would be possible, but it
433         carries the false implication that those are cygnus names, when
434         they are really entirely up to the user.
435
436         * tests/test[123456789].c: 
437         * tests/testcxx.cxx: 
438         * tests/testcx[23456789].cxx: 
439         Undo the previous change: remove dummies for task[1-4] when we
440         decide not to test anything, they will be provided with weak names
441         regardles in src/uit_func.cxx.
442
443 1998-10-20  Hugo Tyson  <hmt@cygnus.co.uk>
444
445         * tests/test[123456789].c: 
446         * tests/testcxx.cxx: 
447         * tests/testcx[23456789].cxx: 
448         Provide dummies for task[1-4] when we decide not to test anything,
449         to encourage correct linking.
450
451 1998-10-16  Hugo Tyson  <hmt@cygnus.co.uk>
452
453         * tests/testcx*.cxx (cyg_start): 
454         [all the C++ tests]
455         changed cyg_start to externC so that it truly does override the
456         default one; this is needed for handling the "I cannot test in
457         this configuration" failures.  Of course the C ones were C to
458         start with.
459         
460 1998-10-16  Hugo Tyson  <hmt@cygnus.co.uk>
461
462         * tests/test[123456789].c: 
463         * tests/testcxx.cxx: 
464         * tests/testcx[23456789].cxx: 
465         All tests are now much more self-configuring wrt turning off
466         if there are no uITRON objects of the right type to manipulate.
467         The huge (50-line) #if statement is arranged the way it is so that
468         clauses checking on each feature can be pasted in and out easily.
469         So yes, the "&& 1" at the end has a purpose.
470         
471         Here for the record is a table of feature versus test-used-in:
472         tsk  :: 1 2 3 4 5 6 7 8 9
473         sem  ::   2 3   5 6 7 8
474         flg  ::   2     5 6 7
475         mbx  ::   2     5 6 7
476         mpl  ::   2     5   7   9
477         mpf  ::   2     5   7   9
478         alm  ::       4
479         cyc  ::       4
480
481
482 1998-10-16  Hugo Tyson  <hmt@cygnus.co.uk>
483
484         * tests/test9.c: 
485         * tests/testcx9.cxx: 
486         New tests, test create and delete of memory pools
487
488 1998-10-15  Hugo Tyson  <hmt@cygnus.co.uk>
489
490         * include/pkgconf/uitron.h: 
491         Add configury for create/delete of memory pools.
492         Tidy up naming of initializer macros to use for non-existent
493         (initially) uITRON objects.
494         Improve comments in CDL-- info fields.
495         
496         * include/uit_func.h: 
497         Add prototypes for cre/del_mpf/mpl().
498
499         * include/uit_func.inl: 
500         Implement cre/del_mpf/mpl().
501
502         * src/uit_objs.cxx: 
503         Support CYG_UIT_MEMPOOLFIXED_NOEXS/CYG_UIT_MEMPOOLVAR_NOEXS(...)
504         mempool construction macros for non-existent (initially) mempools.
505         Rename _NONE construction macros to _NOEXS which will make a lot
506         more sense to uITRON folks.
507
508 1998-10-14  Hugo Tyson  <hmt@masala.cygnus.co.uk>
509
510         * include/pkgconf/uitron.h: 
511         Add configury for create/delete of tasks.
512         
513         * include/uit_func.h: 
514         Add prototypes for cre/del_tsk(); correct comment in exd_tsk().
515         
516         * include/uit_func.inl: 
517         Implement cre/del_tsk() and complete exd_tsk().
518         Improve NULL/NADR checking on other cre/del calls.
519
520         * src/uit_func.cxx (cyg_uitron_start): 
521         Deal better with start tasks stuff, for task create/delete.
522
523         * src/uit_objs.cxx: 
524         Support CYG_UIT_TASK_NONE(...) task constructor for those tasks
525         which do not initially exist
526
527         * tests/PKGconf.mak:
528         Add new tests test8.c, testcx[678].cxx to the build.
529
530         * tests/test6.c:
531         Tidy comments, untabify.
532         
533         * tests/test7.c:
534         Tidy comments, untabify, test creation with NADR record pointer.
535         No impact from the new cre/del_tsk() functionality on test7, since
536         a task may only be deleted when it is dormant, so deletion is NOT
537         another way out of a waiting state.
538         
539         * tests/test8.c:
540         New test, tests cre_tsk() and del_tsk() and exd_tsk() ie. the
541         creation and deletion of tasks.
542
543         * tests/testcx6.cxx:
544         * tests/testcx7.cxx:
545         * tests/testcx8.cxx:
546         New tests, C++ versions of tests 6, 7, and 8.
547
548 1998-10-09  Hugo Tyson  <hmt@cygnus.co.uk>
549
550         * tests/test7.c: 
551         Test interactions with deleting objects (as applicable) and
552         killing, signalling and the like.  Also test killing the task
553         after other treatments more generically.
554
555         * tests/test6.c (task1): 
556         Change "N/A:" to "N/A" in the exit message when we didn't actually
557         do any testing due to create/delete being disabled for all object
558         types.
559
560 1998-10-08  Hugo Tyson  <hmt@masala.cygnus.co.uk>
561
562         In general, these changes are to support create/delete of uITRON
563         objects; this requires that an object can be destroyed whilst
564         there are threads waiting on it, and that they shall be awoken
565         with a specific return code E_DLT.  The implementation uses an
566         array of pointers in addition to the array of objects: ptrs[N]
567         should either be NULL or &objs[N] in this version.  That
568         restriction is not checked, in order that in future, true dynamic
569         allocation can be used, and ptrs[N] could point anywhere.  The
570         implications of this are mainly in the area of getting the
571         addresses of objects, via the ptr array or from the object array?
572         The config of whether there is a ptr array is per object type.
573
574         * include/pkgconf/uitron.h: 
575         Configury of the existence or not of create/delete for object
576         type: initially only SEMAS, MBOXES, FLAGS.
577         Configury of the number of objects created initially, if cre/del
578         are enabled.
579
580         * tests/test6.c:
581         * tests/test7.c:
582         * tests/PKGconf.mak:
583         Two new test programs (duh!): test6 tests create and delete of
584         SEMAS, MBOXES, FLAGS explicitly, for bad params handling, ability
585         to use after deletion and recreation &c &c.  test7 tests the
586         semantics of sleeping on some synchronization primitive, permed
587         with suspension, signalling, killing, releasing and so forth.
588         Both will migrate into C++ versions also in future.
589
590         * include/uit_func.h:
591         Enable cre/del_{mbx,flg,sem} prototypes.
592
593         * include/uit_func.inl:
594         Implement cre/del_{mbx,flg,sem} depending on configury, and handle
595         the pointer arrays generally in other client routines.
596
597         * include/uit_objs.hxx:
598         Define the pointer arrays for access to created objects.
599
600         * include/uit_type.h:
601         Enable definitions of the structures used in create calls.
602         
603         * src/uit_func.cxx:
604         Initialization code for the pointer arrays, akin to the task
605         startup code.
606
607         * src/uit_objs.cxx:
608         Instantiate the pointer arrays themselves.
609
610
611 1998-09-25  Bart Veer  <bartv@cygnus.co.uk>
612
613         * include/pkgconf/uitron.h:
614         PR 17482: added #ifdef protection. If CYGPKG_UITRON_MEMPOOLFIXED
615         is not defined then the contained option
616         CYGNUM_UITRON_MEMPOOLFIXED may not be defined either. Ditto for
617         CYGNUM_UITRON_MEMPOOLVAR which suffers from the same problem.
618         And ditto for CYGPKG_UITRON_SEMAS
619
620 1998-09-20  Mark Galassi  <rosalia@cygnus.com>
621
622         * include/pkgconf/uitron.h: added one or two CDL doc strings.
623
624 Tue Sep 15 19:12:28 1998  David Moore  <dsm@keema.cygnus.co.uk>
625
626         * include/pkgconf/uitron.h: Cleaned up comments.
627
628 1998-09-12  Mark Galassi  <rosalia@cygnus.com>
629 small changes to the descriptive information in the uITRON CDL
630
631 1998-09-12  Mark Galassi  <rosalia@cygnus.com>
632
633         * include/pkgconf/uitron.h: small editing of the description
634         fields: renamed things like <name> to NAME, so that it does not
635         confuse SGML when incorporated into the documentation.
636         Also added various "doc" fields to the CFG_DATA comments.
637
638 Wed Sep  9 18:36:15 1998  Hugo Tyson  <hmt@cygnus.co.uk>
639
640         * include/uit_func.inl: 
641         * include/uit_objs.hxx: 
642         * src/uit_objs.cxx: 
643         Condition features on CYGPKG_UITRON_SEMAS [for example] as well as
644         0 < CYG_UITRON_NUM( SEMAS ) so that we get warning free
645         compilation with no semas enabled.  Ditto for flags, mboxes,
646         mempools fixed and variable, alarms and cyclics.
647         
648         * include/pkgconf/uitron.h: 
649         Add a couple of requires statements from cyclics and alarms on the
650         kernel clock.
651         Also change some grammar after review.
652         Add an option (actually a pair, makes it better documentation IMO)
653         to require strict semantics from the kernel setup.
654         Add an option to control the optional sema initializer; it was
655         omitted since the editor way of configury used a #if 0.
656         
657 Fri Sep  4 17:54:29 1998  Hugo Tyson  <hmt@cygnus.co.uk>
658
659         * include/pkgconf/uitron.h: 
660         Remove redundant and now unnecessary defs of CYGPKG_UITRON.
661
662 Wed Sep  2 19:06:17 1998  Hugo Tyson  <hmt@cygnus.co.uk>
663
664         * include/uit_func.inl: 
665         Memory pools and message boxes and flags
666         and cnt_sem2-type semaphores now all have absolute timeouts
667         instead of relative ones in the timely wait functions.
668         We add in the current time here first.
669
670 Wed Sep  2 16:45:40 1998  Hugo Tyson  <hmt@cygnus.co.uk>
671
672         * include/pkgconf/uitron.h (CYGDAT_UITRON_TASK_INITIALIZERS): 
673         Use the new kernel thread initializer with priority and thread
674         name in it.
675
676         * include/uit_func.inl: 
677         * include/uit_objs.hxx: 
678         * src/uit_func.cxx (cyg_uitron_start): 
679         * src/uit_objs.cxx: 
680         Our tasks are now Cyg_Threads rather than a derived class.
681         Original priorities of tasks are held in an array.  An accessor
682         macro is used for the off-by-one nature of uitron IDs.  The array
683         of original priorities is set up in cyg_uitron_start(), and
684         created in uit_objs.cxx.
685         
686 Wed Sep  2 15:15:26 1998  Hugo Tyson  <hmt@cygnus.co.uk>
687
688         * include/pkgconf/uitron.h: 
689         Comment more strongly in the 'description' that the number of
690         initializers better match the number of things specified.
691
692 Tue Sep  1 19:00:02 1998  Hugo Tyson  <hmt@masala.cygnus.co.uk>
693
694         * include/uit_objs.hxx: 
695         Do not include <cyg/kernel/kernel.h>; it is deprecated.
696         Instead, include only kernel headers that are needed.
697
698         * include/uit_func.inl (ref_sys): 
699         Use new kernel function Cyg_Interrupt::interrupts_enabled()
700         instead of a state variable.  Tidy up associated code.
701         Include kernel headers that are needed because they were not
702         included in uit_objs.hxx for tidiness.
703
704         * src/uit_func.cxx: 
705         Elide state variable that used to be used for tracking interrupt
706         enabledness state.
707
708         * tests/testcx5.cxx (task1): 
709         * tests/test5.c (task1): 
710         Test interrupt enable and disable stuff, and status reporting.
711
712 Tue Sep  1 15:12:29 1998  Hugo Tyson  <hmt@cygnus.co.uk>
713
714         * include/uit_func.inl (ref_mpf): 
715         Change comment "ECC" to "eCos".
716
717 1998-08-28  Bart Veer  <bartv@cygnus.co.uk>
718
719         * include/uit_func.inl:
720         * tests/test1.c, tests/test2.c, tests/test3.c, tests/test4.c,
721         tests/test5.c, tests/testcxx.cxx, tests/testcx2.cxx,
722         tests/testcx3.cxx, tests/testcx4.cxx, tests/testcx5.cxx:
723
724         Updated for new kernel configuration option symbol names
725
726
727 Fri Aug 28 09:21:55 1998  Jonathan Larmour  <jlarmour@cygnus.co.uk>
728
729         * src/uit_func.cxx (cyg_uitron_start): 
730         Remove call to Cyg_Scheduler::start() and adjust comments to
731         explain where to call it from
732
733         * tests/test1.c, tests/test2.c, tests/test3.c, tests/test4.c, 
734           tests/test5.c, tests/testcxx.cxx, tests/testcx2.cxx, 
735           tests/testcx3.cxx, tests/testcx4.cxx, tests/testcx5.cxx:
736         Change the normal entry point at the top to be cyg_package_start()
737         under the new startup scheme. This overrides the default package
738         configuration and ensure cyg_uitron_start() gets called.
739         Change the "default" entry point at the bottom (when the test is
740         N/A for some reason) to cyg_start() under the new startup scheme.
741         
742 Wed Aug 26 18:20:47 1998  Hugo Tyson  <hmt@masala.cygnus.co.uk>
743
744         * include/pkgconf/uitron.h: 
745         Initial version of cdl control statements for config options.
746         All very groovy, and looking good IMO.
747         A few FIX-MEs remain, no big deal.
748
749 Mon Aug 24 19:05:52 1998  Hugo Tyson  <hmt@masala.cygnus.co.uk>
750
751         * include/pkgconf/uitron.h: 
752         Change the names of config options to helpful, positive sense, and
753         tidy some of the names for inclusion in the GUI tool.  Clean up
754         the namespace too.
755         
756         * include/uit_func.h: 
757         * include/uit_func.inl: 
758         * src/uit_func.cxx: 
759         * src/uit_objs.cxx: 
760         Configure according to new option names and object construction
761         macros.  Simple changes but widespread.
762
763         * tests/test[12345].c: 
764         * tests/testcx[x2345].cxx: 
765         Configure according to new option names.
766         Make it main( void ) to avoid a warning.
767
768 Fri Aug 21 18:45:16 1998  Hugo Tyson  <hmt@cygnus.co.uk>
769
770         * tests/testcx4.cxx (task1): 
771         * tests/test4.c (task1): 
772         * include/uit_func.inl (def_alm): 
773         Tidy the alarm and timer funcs in the course of fixing a kernel
774         bug actually.  Test the functionality affected by the kernel
775         change a bit more.
776         
777 Thu Aug 20 14:33:36 1998  Hugo Tyson  <hmt@masala.cygnus.co.uk>
778
779         * include/uit_func.inl (ref_alm): 
780         Elide an unused variable following the previous change.
781
782 Mon Aug 17 15:45:07 1998  Hugo Tyson  <hmt@masala.cygnus.co.uk>
783
784         * include/pkgconf/uitron.h: 
785         Add the config option CYGSEM_UITRON_PARAMS_CHECK_NADR_ONLY.
786         
787         * tests/testcxx.cxx: 
788         * tests/testcx2.cxx: 
789         * tests/testcx4.cxx: 
790         Avoid testing with NULL as a bad parameter when only NADR is
791         checked.  (NADR does not cast to any-pointer in C++ so we don't
792         test it in these programs)  Check for NADR various places as well
793         as NULL.
794         
795         * tests/test1.c (task1): 
796         * tests/test2.c (task1): 
797         * tests/test4.c (task1): 
798         Avoid testing with NULL as a bad parameter when only NADR is
799         checked.  Check for NADR various places as well as NULL, and test
800         NADR as a bad param as well as NULL.
801
802
803 Mon Aug 17 14:45:30 1998  Hugo Tyson  <hmt@cygnus.co.uk>
804
805         * include/uit_func.inl:
806         PR# 16536: Check for dormant tasks various places; E_OBJ
807         must be returned.  All this error checking rather bloats the code,
808         unfortunately.
809         
810         * tests/testcxx.cxx: 
811         * tests/test1.c: 
812         Test the new checks above.
813
814 Fri Aug 14 17:41:35 1998  Hugo Tyson  <hmt@cygnus.co.uk>
815
816         * include/uit_func.inl ([t]wai/pol_flg): 
817         Check for zero in a wait-for-flag operation; such a wait can never
818         be awakened, and so should return E_PAR.
819
820         * tests/testcx2.cxx (task1): 
821         * tests/test2.c (task1): 
822         Test the above new checking.
823
824 Fri Jul 24 17:12:54 1998  Hugo Tyson  <hmt@masala.cygnus.co.uk>
825
826         PR#15865
827         * include/uit_func.inl: return a bool (strictly 1 or 0) for wtsk
828         rather than -1 or zero as the spec implies.
829         ref_flg() ref_sem() only affected.
830
831 Fri Jul 24 13:26:51 1998  Hugo Tyson  <hmt@cygnus.co.uk>
832
833         PR#16531
834         * include/uit_func.inl: return E_OBJ when (force)resuming a
835         non-suspended task.
836         * tests/test1.c: test for that error code.
837         * tests/testcxx.cxx: test for that error code.
838
839 Fri Jul 24 13:02:46 1998  Hugo Tyson  <hmt@cygnus.co.uk>
840
841         * Changelog: Initial ChangeLog entry.
842
843
844 //===========================================================================
845 //####ECOSGPLCOPYRIGHTBEGIN####
846 // -------------------------------------------
847 // This file is part of eCos, the Embedded Configurable Operating System.
848 // Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
849 //
850 // eCos is free software; you can redistribute it and/or modify it under
851 // the terms of the GNU General Public License as published by the Free
852 // Software Foundation; either version 2 or (at your option) any later version.
853 //
854 // eCos is distributed in the hope that it will be useful, but WITHOUT ANY
855 // WARRANTY; without even the implied warranty of MERCHANTABILITY or
856 // FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
857 // for more details.
858 //
859 // You should have received a copy of the GNU General Public License along
860 // with eCos; if not, write to the Free Software Foundation, Inc.,
861 // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
862 //
863 // As a special exception, if other files instantiate templates or use macros
864 // or inline functions from this file, or you compile this file and link it
865 // with other works to produce a work based on this file, this file does not
866 // by itself cause the resulting work to be covered by the GNU General Public
867 // License. However the source code for this file must still be made available
868 // in accordance with section (3) of the GNU General Public License.
869 //
870 // This exception does not invalidate any other reasons why a work based on
871 // this file might be covered by the GNU General Public License.
872 //
873 // Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
874 // at http://sources.redhat.com/ecos/ecos-license/
875 // -------------------------------------------
876 //####ECOSGPLCOPYRIGHTEND####
877 //===========================================================================