mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2025-12-26 06:08:20 +00:00
* macros/rtems/score/thread..inl: Implemented missing routines for new libc reentrancy support.
397 lines
15 KiB
Plaintext
397 lines
15 KiB
Plaintext
2001-05-17 Joel Sherrill <joel@OARcorp.com>
|
|
|
|
* macros/rtems/score/thread..inl: Implemented missing routines
|
|
for new libc reentrancy support.
|
|
|
|
2002-05-15 Chris Johns <ccj@acm.org>
|
|
|
|
* include/rtems/score/thread.h, inline/rtems/score/thread.inl,
|
|
src/threaddispatch.c, src/threadinitialize.c:
|
|
Move the C library re-enterrant support directly into
|
|
the thread dispatch code. RTEMS needs libc and so requiring
|
|
libc to use a user extension with its overhead is not the best
|
|
solution. This patch lowers the overhead to 2 pointer moves.
|
|
|
|
2002-05-03 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
|
|
* include/Makefile.am: Work-around to autoconf-2.53 adding PACKAGE_*
|
|
to autoheaders - sed out *PACKAGE* from cpuopts-tmp.h.
|
|
|
|
2001-05-14 Till Straumann <strauman@slac.stanford.edu>
|
|
|
|
* src/threaddispatch.c, src/threadhandler.c: Per PR211 fix
|
|
saving/restoring floating point context. The fpsave and fprestore
|
|
routines are only used in a executing context which _is_ fp and hence
|
|
has the FPU enabled. The current behavior required the FPU always to
|
|
be on which is very dangerous if lazy context switching is used.
|
|
[Joel Note: Some ports explicitly enabled the FPU in the FP save and
|
|
restore routines to avoid this.]
|
|
|
|
The patch also makes sure (on powerpc only) that the FPU is disabled
|
|
for integer tasks. Note that this is crucial if deferred fp context
|
|
switching is used. Otherwise, fp context corruption may go undetected!
|
|
Also note that even tasks which merely push/pop FP registers to/from
|
|
the stack without modifying them still MUST be FP tasks - otherwise
|
|
(if lazy FP context switching is used), FP register corruption (of
|
|
other, FP, tasks may occur)!
|
|
|
|
Furthermore, (on PPC) by default, lazy FP context save/restore
|
|
is _disabled_.
|
|
|
|
2001-04-26 Joel Sherrill <joel@OARcorp.com>
|
|
|
|
* src/objectcomparenamestring.c: Fix typos.
|
|
|
|
2001-04-26 Joel Sherrill <joel@OARcorp.com>
|
|
|
|
* include/rtems/score/object.h, inline/rtems/score/object.inl,
|
|
src/objectcomparenamestring.c: Address PR81 that
|
|
reworked POSIX message queues to add a descriptor separate from
|
|
the underlying message queue. This allows non-blocking to follow
|
|
the "open" not the underlying queue. As part of debugging this
|
|
it became clear that _Objects_Compare_name_string was broken
|
|
and a simple version using strncmp() was substituted.
|
|
|
|
2002-04-18 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
|
|
* include/rtems/system.h: Remove targopts.h.
|
|
|
|
2002-04-17 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
|
|
* include/rtems/system.h: Add the sparc to the target supporting
|
|
multlibs.
|
|
|
|
2002-04-16 Chris Johns <ccj@acm.org>
|
|
|
|
* src/threadinitialize.c: Per PR181, clear the array of user extension
|
|
pointers. This lets user extensions that have hooked the switch handler
|
|
know if a task has been processed by the user extension before. If a
|
|
user extension is created after a task is started it may not know it.
|
|
|
|
2002-04-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
|
|
* include/rtems/system.h: Add i386 to multilib-able targets.
|
|
|
|
2001-04-11 Joel Sherrill <joel@OARcorp.com>
|
|
|
|
|
|
* macros/rtems/score/userext.inl: Now works after merging patch for
|
|
functionality requested in PR174.
|
|
* inline/rtems/score/userext.inl: Added a comment explaining the
|
|
order in which routines appear since it is not the obvious order.
|
|
|
|
2002-04-08 Chris Johns <ccj@acm.org>
|
|
|
|
* Per PR141 and PR174, make task switch extension its own list and
|
|
fix all odd problems introduced by providing macro version.
|
|
* inline/rtems/score/userext.inl: Fix.
|
|
|
|
2001-04-08 Joel Sherrill <joel@OARcorp.com>
|
|
|
|
* macros/rtems/score/object.inl: Corrected arguments.
|
|
|
|
2001-04-08 Joel Sherrill <joel@OARcorp.com>
|
|
|
|
* macros/rtems/score/userext.inl: Updated to reflect modifications
|
|
to inline version from PR142.
|
|
* inline/rtems/score/userext.inl: Cleanup as side-effect of above.
|
|
|
|
2002-04-08 Chris Johns <ccj@acm.org>
|
|
|
|
* Per PR142, make task switch extension its own list.
|
|
* include/rtems/score/userext.h: Reflect above by adding
|
|
User_extensions_Switch_control and adding it to User_extenions_Control.
|
|
* inline/rtems/score/userext.inl: Allocate all memory in one chunk
|
|
to minimize overhead. Address processing dedicated switch chain.
|
|
|
|
2002-04-08 Chris Johns <ccj@acm.org>
|
|
|
|
* Per PR142, make task switch extension its own list.
|
|
* include/rtems/score/userext.h: Reflect above by adding
|
|
User_extensions_Switch_control and adding it to User_extenions_Control.
|
|
* inline/rtems/score/userext.inl: Allocate all memory in one chunk
|
|
to minimize overhead. Address processing dedicated switch chain.
|
|
|
|
2002-03-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
|
|
* cpu/Makefile.am: Remove AUTOMAKE_OPTIONS.
|
|
* src/Makefile.am: Remove AUTOMAKE_OPTIONS.
|
|
* Makefile.am: Remove AUTOMAKE_OPTIONS.
|
|
* include/Makefile.am: Remove AUTOMAKE_OPTIONS.
|
|
* inline/Makefile.am: Remove AUTOMAKE_OPTIONS.
|
|
* macros/Makefile.am: Remove AUTOMAKE_OPTIONS.
|
|
|
|
2002-01-29 Joel Sherrill <joel@OARcorp.com>
|
|
|
|
* include/rtems/score/watchdog.h: Added WATCHDOG_MAXIMUM_INTERVAL.
|
|
|
|
2002-01-19 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
|
|
* include/rtems/system.h: Fix typo in yesterday's change:
|
|
RTEMS_MULTILIBS.
|
|
|
|
2001-01-18 Joel Sherrill <joel@OARcorp.com>
|
|
|
|
* include/rtems/system.h: Only include cpuopts.h when building a
|
|
multilib configuration. Some ports still need targopts.h but this
|
|
small modification lets those ports work non-multilib while
|
|
fixing being fixed for multilib.
|
|
|
|
2002-01-04 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
|
|
* include/rtems/seterr.h: Add do {..} while (0) in defines.
|
|
Rename set_errno_and_return_minus_one into
|
|
rtems_set_errno_and_return_minus_one.
|
|
|
|
2001-12-19 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
|
|
* inline/rtems/score/object.inl, macros/rtems/score/object.inl: Add
|
|
add casts to Objects_Id in _Objects_Build_ids to avoid implicit
|
|
typecasts from enum to int16 on bit16 targets (here: h8300).
|
|
|
|
2001-12-19 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
|
|
* src/Makefile.am: Add multilib support.
|
|
|
|
2001-11-28 Joel Sherrill <joel@OARcorp.com>,
|
|
|
|
This was tracked as PR91.
|
|
* include/rtems/score/isr.h, inline/rtems/score/isr.inl,
|
|
macros/rtems/score/isr.inl: Modified to allow any port to provide
|
|
its own implementation of the macro _ISR_Is_in_progress. If the
|
|
port overrides this macro, it must provide a non-inlined function
|
|
implementation.
|
|
|
|
2001-11-20 Joel Sherrill <joel@OARcorp.com>
|
|
|
|
* src/threadhandler.c: When __USE__MAIN__ is defined by the toolset,
|
|
invoke the global constructors via __main. Reported as tested by
|
|
Alexandra Kossovsky <sasha@oktet.ru> and Victor V. Vengerov
|
|
<vvv@oktet.ru> in conjunction with a new set of tool RPMs
|
|
(gcc2.95.3newlib1.9.0-3). This was tracked as GNATS PR tools/84.
|
|
|
|
2001-11-07 Joel Sherrill <joel@OARcorp.com>
|
|
|
|
Reported by Todor.Todorov@barco.com and tracked as PR36.
|
|
* include/rtems/score/object.h: Added prototype for
|
|
_Objects_Get_by_index().
|
|
* src/objectget.c, src/objectgetisr.c: Corrected procedure for
|
|
getting index from Id so it is correct and optimal for both single
|
|
and multiprocessor configurations.
|
|
|
|
2001-10-22 Joel Sherrill <joel@OARcorp.com>
|
|
|
|
* src/threadhandler.c: Use __USE_INIT_FINI__ since USE_INIT_FINI
|
|
pollutes the application namespace.
|
|
|
|
2001-10-16 Joel Sherrill <joel@OARcorp.com>
|
|
|
|
* .cvsignore: Add stamp-h.in.
|
|
|
|
2001-10-16 Joel Sherrill <joel@OARcorp.com>
|
|
|
|
* include/Makefile.am: Fixed path to cpuopts-tmp.h.
|
|
|
|
2001-10-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
|
|
* include/rtems/Makefile.am: Remove.
|
|
* include/rtems/Makefile.am: Remove.
|
|
* include/Makefile.am: Handle subdirs, require automake-1.5.
|
|
* macros/rtems/Makefile.am: Remove.
|
|
* macros/rtems/score/Makefile.am: Remove.
|
|
* macros/Makefile.am: Handle subdirs, require automake-1.5.
|
|
* inline/rtems/Makefile.am: Remove.
|
|
* inline/rtems/score/Makefile.am: Remove.
|
|
* inline/Makefile.am: Handle subdirs, require automake-1.5.
|
|
* Makefile.am: require automake-1.5
|
|
|
|
2001-09-28 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
|
|
* include/rtems/score/Makefile.am: Use 'PREINSTALL_FILES ='.
|
|
* include/rtems/Makefile.am: Use 'PREINSTALL_FILES ='.
|
|
* inline/rtems/score/Makefile.am: Use 'PREINSTALL_FILES ='.
|
|
* macros/rtems/score/Makefile.am: Use 'PREINSTALL_FILES ='.
|
|
|
|
2001-09-27 Eric Norum <eric.norum@usask.ca>
|
|
|
|
* src/threadhandler.c: Now process C++ global constructors
|
|
(_init) as part of the first task execution not in BSP space.
|
|
This depends on the toolset defining USE_INIT_FINI so you
|
|
have to have the right toolset version.
|
|
|
|
2001-09-23 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
|
|
* include/rtems/score/Makefile.am: Use 'PREINSTALL_FILES ='.
|
|
* include/rtems/Makefile.am: Use 'PREINSTALL_FILES ='.
|
|
* inline/rtems/score/Makefile.am: Use 'PREINSTALL_FILES ='.
|
|
* macros/rtems/score/Makefile.am: Use 'PREINSTALL_FILES ='.
|
|
|
|
2001-08-30 Joel Sherrill <joel@OARcorp.com>
|
|
|
|
* src/coremutex.c, src/coremutexseize.c, src/coremutexsurrender.c,
|
|
inline/rtems/score/coremutex.inl: The per thread field resource_count
|
|
should only be manipulated when a mutex is priority ceiling or
|
|
priority inherit. This was reported by Chris Johns <ccj@acm.org>
|
|
who also noticed that the use of switches for all disciplines
|
|
generated less efficient code than using explicit tests for the one
|
|
or two cases we were really interested in. Further review of his
|
|
modifications made it apparent that the "isa" methods to test mutex
|
|
discipline were not being used so this modification was swept into
|
|
the code as well.
|
|
|
|
2001-08-30 Joel Sherrill <joel@OARcorp.com>
|
|
|
|
* src/coremutexseize.c: Add missing code for proper handling
|
|
of nesting acquisitions. This only impacts building with
|
|
inlines disabled on the source with the "fast mutex" optimizations.
|
|
This was post the 4.5 branch and did not impact released versions.
|
|
|
|
2001-08-16 Joel Sherrill <joel@OARcorp.com>
|
|
|
|
* src/coremutexsurrender.c: Use holder thread not executing
|
|
thread because even though they may and often are the same
|
|
it is not guaranteed unless the proper attribute is set.
|
|
|
|
2001-08-16 Joel Sherrill <joel@OARcorp.com>
|
|
|
|
* include/rtems/score/coremsg.h, src/coremsgsubmit.c: Add a new
|
|
return status to account for blocking sends. Otherwise, the
|
|
caller will think that the returned message status will have
|
|
the ultimate results of the operation. If the send times out,
|
|
the final status will be in the return_code of the thread.
|
|
|
|
2001-08-09 Joel Sherrill <joel@OARcorp.com>
|
|
|
|
* include/rtems/score/coremsg.h, inline/rtems/score/coremsg.inl,
|
|
src/coremsgsubmit.c: Unblocking message queue operations should
|
|
NOT use _Thread_Executing for return status since it is permissible
|
|
to invoke message send operations from an ISR. This was reported
|
|
by Suvrat Gupta <suvrat@utstar.com>.
|
|
|
|
2000-05-25 Sergei Organov <osv@javad.ru>
|
|
|
|
* macros/rtems/score/coresem.inl, inline/rtems/score/coresem.inl:
|
|
Cut and paste problem incorrectly enabled interrupts twice with
|
|
the first time being too early.
|
|
|
|
2001-05-09 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
|
|
* include/rtems/score/.cvsignore: Add stamp-h, cpuopts.h,
|
|
cpuopts.h.in, cpuopts-tmp.h.
|
|
|
|
2001-02-03 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
|
|
* include/rtems/Makefile.am, include/rtems/score/Makefile.am,
|
|
inline/rtems/score/Makefile.am, macros/rtems/score/Makefile.am
|
|
Apply include_*HEADERS instead of H_FILES.
|
|
|
|
2001-01-29 Joel Sherrill <joel@OARcorp.com>
|
|
|
|
* src/objectextendinformation.c: Added include of string.h to
|
|
eliminate warning.
|
|
|
|
2001-01-08 Joel Sherrill <joel@OARcorp.com>
|
|
|
|
* src/threadinitialize.c: Fix my bad hack of Ralf's fp_area
|
|
warning removal patch. :(
|
|
|
|
2001-01-08 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
|
|
* src/threadinitialize.c: Removed warning.
|
|
|
|
2001-01-03 Joel Sherrill <joel@OARcorp.com>
|
|
|
|
* src/isr.c: Modify to properly dereference _ISR_Vector_table
|
|
now that it is dynamically allocated.
|
|
|
|
2000-12-19 Joel Sherrill <joel@OARcorp.com>
|
|
|
|
* src/isr.c: Allocate the _ISR_Vector_table all the time not just when
|
|
we are allocating an interrupt stack.
|
|
|
|
2000-12-13 Joel Sherrill <joel@OARcorp.com>
|
|
|
|
* include/rtems/score/isr.h, src/isr.c: Allocate it from the
|
|
workspace rather than explicitly declaring it. This allows
|
|
the size to be a non-constant from the perspective of score/cpu.
|
|
|
|
2000-12-01 Joel Sherrill <joel@OARcorp.com>
|
|
|
|
* macros/rtems/score/coresem.inl: Removed comments since convention
|
|
calls for comments to be in inline versin.
|
|
* macros/rtems/score/object.inl (Objects_Get_local_object): Fixed
|
|
style to use _ prefix on variable names and use parentheses.
|
|
* macros/rtems/score/object.inl (_Objects_Namespace_remove): Added.
|
|
|
|
2000-11-30 Joel Sherrill <joel@OARcorp.com>
|
|
|
|
* General effort to make things compile with macros not inlines
|
|
* inline/rtems/score/coremutex.inl: Added comment indicating
|
|
for macros there is another copy of
|
|
_CORE_mutex_Seize_interrupt_trylock() in src/coremutexseize.c.
|
|
* src/coremutexseize.c: Added body of
|
|
_CORE_mutex_Seize_interrupt_trylock() for macro case.
|
|
* macros/rtems/score/coremutex.inl: Added prototype for
|
|
_CORE_mutex_Seize_interrupt_trylock() since there is a real
|
|
body when macros are enabled.
|
|
* macros/rtems/score/coresem.inl: Added macro implementation of
|
|
_CORE_semaphore_Seize_isr_disable.
|
|
* macros/score/Makefile.am: Fixed typos.
|
|
* rtems/score/address.inl: Correct macro implementation of
|
|
_Addresses_Is_aligned() so it would compile.
|
|
* macros/rtems/score/coremsg.inl: Added closing parentheses.
|
|
|
|
2000-11-28 Chris Johns <ccj@acm.org>
|
|
|
|
* src/heapallocate.c: Do not allow the size to overflow when
|
|
adjusting it. A test allocated a stack of -1 (~0). This
|
|
actually resulted in a stack being allocated but with a
|
|
size of 0xb. The allocator did not test the size to see if
|
|
it rolled through 0 and so allowed the allocation to happen, the
|
|
thread to get created. The task crashed as you would expect.
|
|
|
|
2000-11-02 Joel Sherrill <joel@OARcorp.com>
|
|
|
|
* include/rtems/system.h: Use proper conditional (RTEMS_POSIX_API)
|
|
so prototypes for POSIX_MP_NOT_IMPLEMENTED(), POSIX_NOT_IMPLEMENTED(),
|
|
POSIX_BOTTOM_REACHED() are actually included.
|
|
|
|
2000-11-02 Joel Sherrill <joel@OARcorp.com>
|
|
|
|
* include/rtems/system.h: Add prototypes for POSIX_MP_NOT_IMPLEMENTED(),
|
|
POSIX_NOT_IMPLEMENTED(), POSIX_BOTTOM_REACHED() removed from newlib.
|
|
|
|
2000-10-18 Nick Simon <Nick.SIMON@syntegra.bt.co.uk>
|
|
|
|
* src/heapgetinfo.c, include/rtems/score/heap.h, src/Makefile.am:
|
|
Added _Heap_Get_information() and information control block.
|
|
* src/heapgetinfo.c: New file.
|
|
|
|
2000-09-25 Joel Sherrill <joel@OARcorp.com>
|
|
|
|
* rtems/system.h: Switched a29k and hppa1.1 to using cpuopts.h not
|
|
targopts.h to reduce dependency on BSP.
|
|
|
|
2000-09-20 Joel Sherrill <joel@OARcorp.com>
|
|
|
|
* src/objectgetbyindex.c: Do not enable dispatching on an
|
|
error path it was not disabled on.
|
|
|
|
2000-09-04 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
|
|
* src/Makefile.am: Include compile.am.
|
|
|
|
2000-08-30 Joel Sherrill <joel@OARcorp.com>
|
|
|
|
* Many files: Moved posix/include/rtems/posix/seterr.h to
|
|
score/include/rtems/seterr.h so it would be available within
|
|
all APIs.
|
|
|
|
2000-08-17 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
|
|
* include/rtems/system.h: Include cpuopts.h for __i386__.
|
|
|
|
2000-08-10 Joel Sherrill <joel@OARcorp.com>
|
|
|
|
* ChangeLog: New file.
|