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