| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
* rtems.S: Remove.
* Makefile.am: Reflect changes above.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Mega patch merge to change the format of the object IDs to
loosen the dependency between the SCORE and the various APIs.
There was considerable work to simplify the object name management
and it appears that the name_table field is no longer needed.
This patch also includes the addition of the internal mutex
which is currently only used to protect some types of allocation
and deallocation. This significantly can reduce context
switch latency under certain circumstances. In particular,
some heap/region operations were O(n) and had dispatching
disabled. This should help enormously. With this merge,
the patch is not as clean as it should be. In particular,
the documentation has not been modified to reflect the new object
ID layout, the IDs in the test screens are not updated, and
_Objects_Get_information needs to be a real routine not inlined.
As part of this patch a lot of MP code for thread/proxy blocking
was made conditional and cleaned up.
* include/Makefile.am, include/rtems/score/coremsg.h,
include/rtems/score/coremutex.h, include/rtems/score/coresem.h,
include/rtems/score/object.h, include/rtems/score/threadq.h,
inline/rtems/score/object.inl, inline/rtems/score/thread.inl,
macros/rtems/score/object.inl, src/Makefile.am, src/coremsg.c,
src/coremutex.c, src/coresem.c, src/mpci.c,
src/objectcomparenameraw.c, src/objectextendinformation.c,
src/objectinitializeinformation.c, src/objectnametoid.c,
src/thread.c, src/threadclose.c, src/threadget.c, src/threadq.c,
src/threadqextractwithproxy.c: Modified as part of above.
* include/rtems/score/apimutex.h, src/objectgetnoprotection.c: New
files.
|
|
|
|
|
|
| |
* rtems/score/cpu.h: Fixed comments and renamed
CPU_SYSTEM_INITIALIZATION_THREAD_EXTRA_STACK to
CPU_MPCI_RECEIVE_SERVER_EXTRA_STACK to be consistent with other code.
|
|
|
|
| |
* configure.ac: Remove RTEMS_PROJECT_ROOT.
|
|
|
|
|
|
| |
* Makefile.am, cpu.c, cpu_asm.S, rtems.S: Modified to make
this all compile again. It has been a while since we have
had a semi-working hppa1.1-rtems cross compiler. :)
|
|
|
|
| |
* configure.ac: Add RTEMS_PROG_CCAS
|
|
|
|
|
| |
* configure.ac: Use AC_CONFIG_AUX_DIR(../../../..).
Add AC_PROG_RANLIB.
|
|
|
|
| |
* configure.ac: Remove references to RTEMS_BSP.
|
|
|
|
| |
* Include $(top_srcdir)/automake/*.am.
|
|
|
|
|
| |
* Makefile.am: Include $(top_srcdir)/../../../automake/*.am.
Use ../../../aclocal.
|
|
|
|
|
| |
* rtems/score/m68k.h: Per PR227, mc68060 does not require FPSP
since it is now multilib'ed.
|
|
|
|
|
| |
* macros/rtems/score/thread..inl: Implemented missing routines
for new libc reentrancy support.
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
| |
* rtems/score/ppc.h: Remove PPC_DEBUG_MODEL.
|
|
|
|
|
| |
* include/Makefile.am: Work-around to autoconf-2.53 adding PACKAGE_*
to autoheaders - sed out *PACKAGE* from cpuopts-tmp.h.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* rtems/new-exceptions/cpu.h: 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_.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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_.
|
|
|
|
|
|
| |
* rtems/powerpc/registers.h, rtems/score/ppc.h: Per PR213, add
support for the MPC74000 (AKA G4); there is no AltiVec support yet,
however.
|
|
|
|
|
|
|
| |
* rtems/score/ppc.h: Remove rtems_multilib.
Add mpc555 (Based on comments from Sergei Organov <osv@javad.ru>).
* rtems/old-exceptions/cpu.h: Remove _CPU_Data_Cache_Block_Flush.
Remove _CPU_Data_Cache_Block_Invalidate.
|
|
|
|
| |
* src/objectcomparenamestring.c: Fix typos.
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
| |
* asm.h: Use cpuopts.h instead of targopts.h.
|
|
|
|
| |
* rtems/score/hppa.h: Remove rtems/score/targopts.h.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* asm.h: Include cpuopts.h instead of targopts.h.
* rtems/new-exceptions/cpu.h: Relocated from
libbsp/powerpc/support/new_exception_processing/rtems/score/cpu.h
* rtems/old-exceptions/cpu.h: Relocated from
c/src/lib/libbsp/powerpc/support/old_exception_processing/rtems/score/cpu.h
* rtems/powerpc/registers.h: Relocated and renamed from
libcpu/powerpc/shared/include/cpu.h.
* rtems/score/cpu.h: New.
* Makefile.am: Reflect changes above.
|
|
|
|
|
|
| |
* rtems/score/cpu.h (CPU_ISR_Disable and CPU_ISR_Enable): Correct them
where they correctly inform the compiler about the register they
are modifying.
|
|
|
|
| |
* include/rtems/system.h: Remove targopts.h.
|
|
|
|
|
| |
* include/rtems/system.h: Add the sparc to the target supporting
multlibs.
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
| |
* include/rtems/system.h: Add i386 to multilib-able targets.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* rtems/score/idtr.h: New file, extracted from libcpu/cpu.h.
* rtems/score/interrupts.h: New file, extracted from libcpu/cpu.h.
* rtems/score/registers.h: New file, moved from libcpu.
* Makefile.am: Reflect changes above.
* cpu.c: Don't include cpuModel.h,
#include <rtems.h>,
#include <rtems/score/i386types.h>,
#include <rtems/score/idtr.h>.
* rtems/score/cpu.h: Don't include libcpu/cpu.h.
#include <rtems/score/interrupts.h>,
#include <rtems/score/registers.h>.
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
| |
* 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.
|
|
|
|
| |
* rtems.c: Adaptation to gcc-3.0.x.
|
|
|
|
| |
* macros/rtems/score/object.inl: Corrected arguments.
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
| |
* cpu.c: Remove call to sparc_init_tbr/NO_TABLE_MOVE.
* rtems/score/cpu.h: Remove NO_TABLE_MOVE conditional code.
|
|
|
|
|
|
| |
* Per PR94, all rtems/score/CPUtypes.h are named rtems/score/types.h.
* include/rtems/score/ispsh7750.h, score/ispsh7750.c: Account for
name change.
|
|
|
|
|
| |
* Per PR94, all rtems/score/CPUtypes.h are named rtems/score/types.h.
* rtems/score/cpu.h: Account for name change.
|
|
|
|
|
|
|
| |
* Per PR94, all rtems/score/CPUtypes.h are named rtems/score/types.h.
* rtems/score/unixtypes.h: Removed.
* rtems/score/types.h: New file via CVS magic.
* Makefile.am, rtems/score/cpu.h: Account for name change.
|
|
|
|
|
|
|
| |
* Per PR94, all rtems/score/CPUtypes.h are named rtems/score/types.h.
* rtems/score/sparctypes.h: Removed.
* rtems/score/types.h: New file via CVS magic.
* Makefile.am, rtems/score/cpu.h: Account for name change.
|
|
|
|
|
|
|
| |
* Per PR94, all rtems/score/CPUtypes.h are named rtems/score/types.h.
* rtems/score/shtypes.h: Removed.
* rtems/score/types.h: New file via CVS magic.
* Makefile.am, rtems/score/cpu.h: Account for name change.
|
|
|
|
|
|
|
| |
* Per PR94, all rtems/score/CPUtypes.h are named rtems/score/types.h.
* rtems/score/ppctypes.h: Removed.
* rtems/score/types.h: New file via CVS magic.
* Makefile.am, rtems/score/cpu.h: Account for name change.
|
|
|
|
|
|
|
| |
* Per PR94, all rtems/score/CPUtypes.h are named rtems/score/types.h.
* rtems/score/or32types.h: Removed.
* rtems/score/types.h: New file via CVS magic.
* Makefile.am, rtems/score/cpu.h: Account for name change.
|
|
|
|
|
|
|
| |
* Per PR94, all rtems/score/CPUtypes.h are named rtems/score/types.h.
* rtems/score/or16types.h: Removed.
* rtems/score/types.h: New file via CVS magic.
* Makefile.am, rtems/score/cpu.h: Account for name change.
|
|
|
|
|
|
|
| |
* Per PR94, all rtems/score/CPUtypes.h are named rtems/score/types.h.
* rtems/score/no_cputypes.h: Removed.
* rtems/score/types.h: New file via CVS magic.
* Makefile.am, rtems/score/cpu.h: Account for name change.
|
|
|
|
|
|
|
| |
* Per PR94, all rtems/score/CPUtypes.h are named rtems/score/types.h.
* rtems/score/mipstypes.h: Removed.
* rtems/score/types.h: New file via CVS magic.
* Makefile.am, rtems/score/cpu.h: Account for name change.
|
|
|
|
|
|
|
| |
* Per PR94, all rtems/score/CPUtypes.h are named rtems/score/types.h.
* rtems/score/m68ktypes.h: Removed.
* rtems/score/types.h: New file via CVS magic.
* Makefile.am, rtems/score/cpu.h: Account for name change.
|