📄 changelog
字号:
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_EXIT1999-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 :: 41998-10-16 Hugo Tyson <hmt@cygnus.co.uk> * tests/test9.c: * tests/testcx9.cxx: New tests, test create and delete of memory pools1998-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. * include/uit_func.h: Enable cre/del_{mbx,flg,sem} prototypes.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -