📄 changelog
字号:
stack usage; since this is quite a long and arduous test. This
just helps en passant with testing the interrupt stack work that's
been happening recently. C++ only, so not for test7.
1999-05-17 Hugo Tyson <hmt@masala.cygnus.co.uk>
* include/uit_func.inl (ter_tsk): Only up the priority of the
killee if priorities are not unique or we are not already
elevated. This is to prevent asserts with the bitmap scheduler.
(chg_pri): Support a level X feature, pri zero => reset to the
thread's initial priority.
1999-05-14 Hugo Tyson <hmt@masala.cygnus.co.uk>
* include/uit_objs.hxx: object array declaration macro now
contains constructor priority ordering rune; if 0'd out pending
99r1 compiler cutover.
1999-04-23 Hugo Tyson <hmt@cygnus.co.uk>
* tests/testcx7.cxx: T2_MALLOC definition; only make it smaller
than the main consumer malloc if coaleasing is enabled, otherwise
the mempool cannot allocate blocks for the consumer for next time.
Fixes PR 18817 - only a random perm disable coalescence.
* tests/test7.c: Ditto.
1999-04-15 John Dallaway <jld@cygnus.co.uk>
* include/pkgconf/uitron.h: Tidy display string capitalization.
1999-04-09 Hugo Tyson <hmt@cygnus.co.uk>
* include/uit_func.inl (dis_dsp): Remove bad old code which used
to lock the scheduler to implement dis_dsp() and ena_dsp() - which
also stopped the clock, for example. Instead change the calling
thread's priority to 0 internally so that it cannot be preempted
by uITRON threads at least, whose priorities are 1--N. Same
applies to loc/unl_cpu(). Save the "real" priority in a static,
and take notice of it everywhere relevant, such as thread and
system state inquiries, changing (our own) priority, checking for
dispatch enabled in sleeping calls, and so on.
* src/uit_func.cxx: New variable cyg_uitron_dis_dsp_old_priority
for holding the "real" priority of a thread whilst we change our
priority to zero (the highest) to prevent dispatching in dis_dsp()
or loc_cpu().
* include/uit_func.inl (get_tid): Return 0 for the task id if not
in a uITRON thread, this is better conformance to the spec.
1999-03-22 Hugo Tyson <hmt@cygnus.co.uk>
* src/uit_objs.cxx:
Use CYGNUM_HAL_STACK_SIZE_TYPICAL for the stack size instead of
CYGNUM_HAL_MINIMUM_STACK_SIZE.
1999-02-23 Jonathan Larmour <jlarmour@cygnus.co.uk>
* tests/test1.c, tests/test2.c, tests/test3.c, tests/test4.c,
tests/test5.c, tests/test6.c, tests/test7.c, tests/test8.c,
tests/test9.c, tests/testcxx.cxx, tests/testcx2.cxx,
tests/testcx3.cxx, tests/testcx4.cxx, tests/testcx5.cxx,
tests/testcx6.cxx, tests/testcx7.cxx, tests/testcx8.cxx,
tests/testcx9.cxx:
Change all non-applicable cases to use CYG_TEST_NA rather than
CYG_TEST_PASS/CYG_TEST_EXIT
1999-02-22 Hugo Tyson <hmt@cygnus.co.uk>
* src/uit_objs.cxx: Eeeek! Previous fix was bogus: the override
was too late in the file to take effect. The declaration of the
objects (including stacks) is moved to below the override CPP
runes.
1999-02-12 Hugo Tyson <hmt@cygnus.co.uk>
* src/uit_objs.cxx (CYG_UITRON_DECL):
Override CYGNUM_UITRON_STACK_SIZE if CYGNUM_HAL_MINIMUM_STACK_SIZE
demands it.
* include/pkgconf/uitron.h (CYGNUM_UITRON_STACK_SIZE):
Document that this option can be overridden by HALs demands.
1999-02-02 Jesper Skov <jskov@cygnus.co.uk>
PR 18968
* tests/test2.c (task1):
* tests/testcx2.cxx (task1):
Reduce run time on SIM.
1999-01-26 Jesper Skov <jskov@cygnus.co.uk>
PR 18788
* tests/test4.c (task1):
* tests/testcx4.cxx (task1):
Extend timeouts when running on HW to avoid failures due to
overhead of GDB interaction.
1999-01-25 Jesper Skov <jskov@cygnus.co.uk>
PR 18576
* include/pkgconf/uitron.h (CYGDAT_UITRON_SEMA_INITIALIZERS):
Let default initializers have values that don't cause tests to
fail.
1998-11-25 Hugo Tyson <hmt@cygnus.co.uk>
* include/uit_func.inl (del_xxx &c):
Make error returns more consistent; E_NOEXS rather than E_OBJ if
the object disappeared during a race.
1998-11-19 Hugo Tyson <hmt@cygnus.co.uk>
* src/uit_func.cxx (SET_UP_PTRS):
PR 17999; work around codegen bug on tx39 with -Os.
The code is better with the fix regardless, so it's got no
downside. Explicitly condition whether to run a follow-on loop
rather than letting the for-loop sort it out itself.
1998-11-16 Hugo Tyson <hmt@cygnus.co.uk>
* tests/testcx7.cxx (check_waitstate):
Add a routine to check the reported waiting state of the synch
object in question, and call it as necessary. This only added to
the C++ version of the test for enhanced coverage, in case the
enquiry call perturbs the object state; having both versions
present is better. This checks a very recent fix to
kernel...thread.cxx (1998-10-27).
1998-10-21 Hugo Tyson <hmt@cygnus.co.uk>
* src/uit_func.cxx:
Provide weakly named dummies for task[1-4], which are the defaults
referred to by the task array, so that the uITRON system can be
initialized even when no uITRON tasks have been provided (so long
as no other changes to the task init configury have been made)
This does not pollute the namespace, for these are weak symbols.
Changing them to cyg_uitron_task... would be possible, but it
carries the false implication that those are cygnus names, when
they are really entirely up to the user.
* tests/test[123456789].c:
* tests/testcxx.cxx:
* tests/testcx[23456789].cxx:
Undo the previous change: remove dummies for task[1-4] when we
decide not to test anything, they will be provided with weak names
regardles in src/uit_func.cxx.
1998-10-20 Hugo Tyson <hmt@cygnus.co.uk>
* tests/test[123456789].c:
* tests/testcxx.cxx:
* tests/testcx[23456789].cxx:
Provide dummies for task[1-4] when we decide not to test anything,
to encourage correct linking.
1998-10-16 Hugo Tyson <hmt@cygnus.co.uk>
* tests/testcx*.cxx (cyg_start):
[all the C++ tests]
changed cyg_start to externC so that it truly does override the
default one; this is needed for handling the "I cannot test in
this configuration" failures. Of course the C ones were C to
start with.
1998-10-16 Hugo Tyson <hmt@cygnus.co.uk>
* tests/test[123456789].c:
* tests/testcxx.cxx:
* tests/testcx[23456789].cxx:
All tests are now much more self-configuring wrt turning off
if there are no uITRON objects of the right type to manipulate.
The huge (50-line) #if statement is arranged the way it is so that
clauses checking on each feature can be pasted in and out easily.
So yes, the "&& 1" at the end has a purpose.
Here for the record is a table of feature versus test-used-in:
tsk :: 1 2 3 4 5 6 7 8 9
sem :: 2 3 5 6 7 8
flg :: 2 5 6 7
mbx :: 2 5 6 7
mpl :: 2 5 7 9
mpf :: 2 5 7 9
alm :: 4
cyc :: 4
1998-10-16 Hugo Tyson <hmt@cygnus.co.uk>
* tests/test9.c:
* tests/testcx9.cxx:
New tests, test create and delete of memory pools
1998-10-15 Hugo Tyson <hmt@cygnus.co.uk>
* include/pkgconf/uitron.h:
Add configury for create/delete of memory pools.
Tidy up naming of initializer macros to use for non-existent
(initially) uITRON objects.
Improve comments in CDL-- info fields.
* include/uit_func.h:
Add prototypes for cre/del_mpf/mpl().
* include/uit_func.inl:
Implement cre/del_mpf/mpl().
* src/uit_objs.cxx:
Support CYG_UIT_MEMPOOLFIXED_NOEXS/CYG_UIT_MEMPOOLVAR_NOEXS(...)
mempool construction macros for non-existent (initially) mempools.
Rename _NONE construction macros to _NOEXS which will make a lot
more sense to uITRON folks.
1998-10-14 Hugo Tyson <hmt@masala.cygnus.co.uk>
* include/pkgconf/uitron.h:
Add configury for create/delete of tasks.
* include/uit_func.h:
Add prototypes for cre/del_tsk(); correct comment in exd_tsk().
* include/uit_func.inl:
Implement cre/del_tsk() and complete exd_tsk().
Improve NULL/NADR checking on other cre/del calls.
* src/uit_func.cxx (cyg_uitron_start):
Deal better with start tasks stuff, for task create/delete.
* src/uit_objs.cxx:
Support CYG_UIT_TASK_NONE(...) task constructor for those tasks
which do not initially exist
* tests/PKGconf.mak:
Add new tests test8.c, testcx[678].cxx to the build.
* tests/test6.c:
Tidy comments, untabify.
* tests/test7.c:
Tidy comments, untabify, test creation with NADR record pointer.
No impact from the new cre/del_tsk() functionality on test7, since
a task may only be deleted when it is dormant, so deletion is NOT
another way out of a waiting state.
* tests/test8.c:
New test, tests cre_tsk() and del_tsk() and exd_tsk() ie. the
creation and deletion of tasks.
* tests/testcx6.cxx:
* tests/testcx7.cxx:
* tests/testcx8.cxx:
New tests, C++ versions of tests 6, 7, and 8.
1998-10-09 Hugo Tyson <hmt@cygnus.co.uk>
* tests/test7.c:
Test interactions with deleting objects (as applicable) and
killing, signalling and the like. Also test killing the task
after other treatments more generically.
* tests/test6.c (task1):
Change "N/A:" to "N/A" in the exit message when we didn't actually
do any testing due to create/delete being disabled for all object
types.
1998-10-08 Hugo Tyson <hmt@masala.cygnus.co.uk>
In general, these changes are to support create/delete of uITRON
objects; this requires that an object can be destroyed whilst
there are threads waiting on it, and that they shall be awoken
with a specific return code E_DLT. The implementation uses an
array of pointers in addition to the array of objects: ptrs[N]
should either be NULL or &objs[N] in this version. That
restriction is not checked, in order that in future, true dynamic
allocation can be used, and ptrs[N] could point anywhere. The
implications of this are mainly in the area of getting the
addresses of objects, via the ptr array or from the object array?
The config of whether there is a ptr array is per object type.
* include/pkgconf/uitron.h:
Configury of the existence or not of create/delete for object
type: initially only SEMAS, MBOXES, FLAGS.
Configury of the number of objects created initially, if cre/del
are enabled.
* tests/test6.c:
* tests/test7.c:
* tests/PKGconf.mak:
Two new test programs (duh!): test6 tests create and delete of
SEMAS, MBOXES, FLAGS explicitly, for bad params handling, ability
to use after deletion and recreation &c &c. test7 tests the
semantics of sleeping on some synchronization primitive, permed
with suspension, signalling, killing, releasing and so forth.
Both will migrate into C++ versions also in future.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -