| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 1932/cpukit
* cpu_asm.S: At some point the interrupt trap handler causes a
window-overflow and the window overflow trap handler crashes when
writing to 0. I found that this is because the WIM was bad, to the
window overflow handler uses a uninitialized stack pointer in a
window never used.
* g3=CWP, not WIM
* CWP is incremented by done_flushing no need doing that here also
* I see no reason to create an additional stack frame (save)
* Must turn off traps when updating WIM (maybe already done by caller?)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 1729/cpukit
* configure.ac, sapi/include/confdefs.h, sapi/src/exinit.c,
score/Makefile.am, score/preinstall.am,
score/cpu/i386/rtems/score/cpu.h, score/cpu/sparc/cpu_asm.S,
score/cpu/sparc/rtems/score/cpu.h,
score/include/rtems/score/basedefs.h,
score/include/rtems/score/context.h,
score/include/rtems/score/percpu.h, score/src/percpu.c,
score/src/thread.c, score/src/threadcreateidle.c: Add next step in
SMP support. This adds an allocated array of the Per_CPU structures
to support multiple cpus vs a single instance of the structure which
is still used if SMP support is disabled. Configuration support is
also added to explicitly enable or disable SMP. But SMP can only be
enabled for the CPUs which will support it initially -- SPARC and
i386. With the stub BSP support, a BSP can be run as a single core
SMP system from an RTEMS data structure standpoint.
* aclocal/check-smp.m4, aclocal/enable-smp.m4,
score/include/rtems/bspsmp.h, score/include/rtems/score/smplock.h,
score/src/smp.c, score/src/smplock.c: New files.
|
|
|
|
|
|
|
|
| |
PR 1573/cpukit
* cpu_asm.S, rtems/score/cpu.h: Add a per cpu data structure which
contains the information required by RTEMS for each CPU core. This
encapsulates information such as thread executing, heir, idle and
dispatch needed.
|
|
|
|
| |
* cpu.c, cpu_asm.S: Add include of config.h
|
| |
|
|
|
|
|
|
|
|
| |
PR 1385/cpukit
* cpu_asm.S: When the type rtems_boolean was switched to the C99 bool,
the size changed from 4 bytes to 1 byte. The interrupt dispatching
code accesses two boolean variables for scheduling purposes and the
assembly implementations of this code did not get updated.
|
| |
|
|
|
|
|
|
|
|
| |
PR 1237/rtems
* cpu.c, cpu_asm.S, rtems/score/cpu.h: Add logic to prevent stack creep
when interrupts occur at a sufficient rate that the interrupted
thread never gets to clean its stack. This patch ensures that an
interrupted thread will not nest ISR dispatches on its stack.
|
|
|
|
| |
* cpu_asm.S: Properly support synchronous traps.
|
|
|
|
| |
* cpu_asm.S: Include <rtems/asm.h> instead of <asm.h>.
|
|
|
|
|
| |
* cpu_asm.S: Close window while restoring interrupted task state which
resulted in CWP corruption.
|
|
|
|
|
| |
* cpu.c, cpu_asm.S, rtems/score/cpu.h, rtems/score/sparc.h,
rtems/score/types.h: URL for license changed.
|
|
|
|
|
|
| |
* cpu_asm.S: Small patch to fix a bug in the rtems sparc port. The
bug has been there all the time, but only hits the leon bsp since the
leon cpu has a 5-stage pipeline (erc32 has 4 stages).
|
|
|
|
|
|
| |
* rtems/score/cpu.h: Added _CPU_Initialize_vectors().
* cpu_asm.S: Modify to properly dereference _ISR_Vector_table
now that it is dynamically allocated.
|
|
|
|
| |
* cpu_asm.S: Fix for CPUs with FPU revision B or C.
|
|
|
|
|
|
| |
routines and structures that require CPU model specific information
are now in libcpu. This primarily required moving erc32 specific
information from score/cpu files to libcpu/sparc and the erc32 BSP.
|
| |
|
|
|
|
|
|
| |
+ interrupt masking correction
+ FPU rev.B workaround
+ minor erc32 related fixes
|
|
|
|
|
|
|
|
| |
getting the spurious trap handling to work required a couple more
fixes - I have attached a patch against rtems-4.0.0 with the
necessary changes. I also added functionality so that the
address of the trapped instruction is reported and in case of
a data access error, the data address is also reported.
|
|
.s files to .S in conformance with GNU conventions. This is a
minor step along the way to supporting automake.
|