| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
* configure.ac: Add nostdinc to AM_INIT_AUTOMAKE.
|
|
|
|
| |
* rtems/score/sh.h: Fix typo in comment (Starus->Status).
|
|
|
|
|
|
| |
* .cvsignore: Reformat.
Add autom4te*cache.
Remove autom4te.cache.
|
|
|
|
| |
* rtems/score/cpu.h: Fix u16 and u32 swap routines.
|
|
|
|
|
| |
* rtems/score/cpu.h (_CPU_Initialize_vectors) Define to NULL
since it is not used.
|
|
|
|
|
|
|
| |
* score/include/Makefile.am: Remove cpuopt.h generation.
* configure.ac: Correct package name.
Don't build ada if POSIX is disabled.
Generate cpuopt.h on the fly, filter out autoconf-2.53 PACKAGE crap.
|
|
|
|
|
| |
* cpu_asm.S: More PR267 tinkering which eliminates some conditional
compilation.
|
|
|
|
|
| |
* macros/rtems/score/coremsg.inl: Add <string.h> to remove warning.
* src/threadidlebody.c: Add return 0 to avoid warning.
|
|
|
|
|
|
|
|
|
|
| |
* cpu_asm.S: Per PR267, the _ISR_Handler() function never was modifying
_ISR_Nest_level, and _Watchdog_Insert() requires this variable
to be modified to determine if an interrupt may have modified
the watchdog chain. Prior to modifying _ISR_Handler(), I had
a test that would fail if _ISR_Flash was not commented out in
_Watchdog_Insert(). After this modification was made, my test
ran flawlessly.
|
|
|
|
|
| |
* cpu_asm.S: Clarified some comments, removed code that forced
SR_IEP on when returning from an interrupt.
|
|
|
|
| |
* cpu.c: Move pointer into #ifdef to avoid compiler warning.
|
|
|
|
|
|
| |
* src/coretodset.c: Correct calculation of ticks until next section
boundary. It was incorrectly based upon current time not the
time that is being set.
|
|
|
|
|
| |
* asm.h, rtems/score/cpu.h: Correct items that have changed since
RTEMS version or32 port was based upon.
|
|
|
|
| |
* rtems/score/cpu.h, rtems/score/types.h: Updated to fix some typos.
|
|
|
|
|
| |
* asm.h, cpu.c, cpu_asm.c, rtems/score/cpu.h, rtems/score/or32.h,
rtems/score/types.h: Merged from OpenCores CVS repository.
|
|
|
|
|
|
|
|
|
| |
* Per PR260 eliminate use of make-target-options. This impacted
RTEMS allowing a distinction between the CPU32 and CPU32+ in the
SuperCore and required that the m68k optimized memcpy be moved
to libcpu.
* memcpy.c: Moved to libcpu.
* Makefile.am: Modified to reflect above.
|
|
|
|
| |
* src/Makefile.am: Build into libscore.a.
|
|
|
|
|
|
|
| |
* .cvsignore, ChangeLog, asm.h, configure.ac, cpu.c, cpu_asm.c,
rtems/score/.cvsignore, rtems/score/cpu.h, rtems/score/cpu_asm.h,
rtems/score/or16.h, rtems/score/types.h: Removed as the or16 port
was just a stub and only the OR32 port is getting worked on.
|
|
|
|
|
|
|
|
|
| |
* cpu.c, cpu_asm.S, rtems/score/arm.h, rtems/score/cpu.h,
rtems/score/cpu_asm.h, rtems/score/types.h: ARM port works
well enough to run all sptests, tmtests, and ttcp.
In addition to general cleanup, there has been considerable
optimization to interrupt disable/enable, endian swapping,
and context switching.
|
|
|
|
| |
* Makefile.am: Build libscorecpu.a instead of rtems-cpu.rel.
|
|
|
|
|
|
| |
* include/rtems/score/apimutex.h (_API_Mutex_Lock): Per PR253
add the missing _ISR_Disable. This fix was already applied to
the old location (c/src/exec/score/...).
|
|
|
|
| |
* src/Makefile.am: Use .$(OBJEXT) instead of .o.
|
|
|
|
| |
* Makefile.am: Use .$(OBJEXT) instead of .o.
|
|
|
|
|
|
|
|
|
|
|
| |
* rtems/score/cpu_asm.h: Enhanced to include register offsets.
* Makefile.am: Install rtems/score/cpu_asm.h.
* cpu.c: Significantly enhanced including the implementation of
_CPU_ISR_Get_level.
* cpu_asm.S: Improved behavior of context switch and interrupt
dispatching.
* rtems/score/arm.h: Improved the CPU model name determination.
* rtems/score/cpu.h: Improved interrupt disable/enable functions.
|
|
|
|
|
| |
* cpu_asm.S: Added SR_IEO to context restore to fix isr disabled
deadlock caused by interrupt arriving while dispatching.
|
|
|
|
|
| |
* macros/rtems/score/object.inl: Corrected typos in
_Objects_Open, _Objects_Close, and _Objects_Namespace_remove.
|
|
|
|
|
|
| |
* macros/rtems/score/object.inl: Corrected implementation of
_Objects_Open, _Objects_Close, and _Objects_Namespace_remove
to be consistent with the inline implementation.
|
|
|
|
|
| |
* cpu.c, irq.c, rtems/score/cpu.h: Filled in something that was
marked XXX.
|
|
|
|
| |
* rtems/score/cpu.h: Filled in something that was marked XXX.
|
|
|
|
| |
* configure.ac: RTEMS_TOP(../../../..).
|
|
|
|
| |
* Makefile.am: Remove reference to deprecated rtems.c.
|
|
|
|
|
| |
* rtems.c: Remove.
* Makefile.am: Reflect changes above.
|
|
|
|
|
| |
* rtems.c: Remove.
* Makefile.am: Reflect changes above.
|
|
|
|
|
| |
* 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_.
|