| Commit message (Collapse) | Author | Files | Lines |
|
Update #3835.
|
|
sse_test.c was deliberarely NOT changed.
Updates #3053.
|
|
|
|
|
|
Update #3585.
|
|
|
|
Updates #3327.
|
|
Update #2468.
|
|
Update #2468.
|
|
|
|
|
|
|
|
|
|
Update #2559.
|
|
Drop the <rtems/score/percpu.h> include since this file exposes a lot of
implementation details.
|
|
The current implementation of task migration in RTEMS has some
implications with respect to the interrupt latency. It is crucial to
preserve the system invariant that a task can execute on at most one
processor in the system at a time. This is accomplished with a boolean
indicator in the task context. The processor architecture specific
low-level task context switch code will mark that a task context is no
longer executing and waits that the heir context stopped execution
before it restores the heir context and resumes execution of the heir
task. So there is one point in time in which a processor is without a
task. This is essential to avoid cyclic dependencies in case multiple
tasks migrate at once. Otherwise some supervising entity is necessary to
prevent life-locks. Such a global supervisor would lead to scalability
problems so this approach is not used. Currently the thread dispatch is
performed with interrupts disabled. So in case the heir task is
currently executing on another processor then this prolongs the time of
disabled interrupts since one processor has to wait for another
processor to make progress.
It is difficult to avoid this issue with the interrupt latency since
interrupts normally store the context of the interrupted task on its
stack. In case a task is marked as not executing we must not use its
task stack to store such an interrupt context. We cannot use the heir
stack before it stopped execution on another processor. So if we enable
interrupts during this transition we have to provide an alternative task
independent stack for this time frame. This issue needs further
investigation.
|
|
|
|
http://www.google-melange.com/gci/task/view/google/gci2012/7983217
|
|
Add CPU port type CPU_Exception_frame and function
_CPU_Exception_frame_print().
The CPU ports of avr, bfin, h8300, lm32, m32c, m32r, m68k, nios2, sh,
sparc64, and v850 use an empty default implementation of
_CPU_Exception_frame_print().
Add rtems_exception_frame and rtems_exception_frame_print().
Add RTEMS_FATAL_SOURCE_EXCEPTION for CPU exceptions. Use rtems_fatal()
with source RTEMS_FATAL_SOURCE_EXCEPTION in CPU ports of i386, powerpc,
and sparc for unexpected exceptions.
Add third parameter to RTEMS_BSP_CLEANUP_OPTIONS() which controls the
BSP_PRINT_EXCEPTION_CONTEXT define used in the default
bsp_fatal_extension().
Add test sptests/spfatal26.
|
|
Script does what is expected and tries to do it as
smartly as possible.
+ remove occurrences of two blank comment lines
next to each other after Id string line removed.
+ remove entire comment blocks which only exited to
contain CVS Ids
+ If the processing left a blank line at the top of
a file, it was removed.
|
|
* cpu.c: Make _defaultExcHandler static.
|
|
* cpu.c, cpu_asm.S: Remove /*PAGE markers which were interpreted by a
long dead print script.
|
|
* sapi/include/confdefs.h, score/cpu/i386/cpu.c: Fix typos so you
really can define a user scheduler.
|
|
* cpu.c, sse_test.c, rtems/score/cpu.h, rtems/score/i386.h,
rtems/score/interrupts.h:
Use "__asm__" instead of "asm" for improved c99-compliance.
|
|
* cpu.c, cpu_asm.S, sse_test.c: Add include of config.h
|
|
|
|
* cpu.c, cpu_asm.S, rtems/score/cpu.h, sse_test.c:
Added experimental SSE support.
|
|
PR 1469/cpukit
* cpu.c: Add dummy entry for (non-existing) exception #15.
Otherwise all slots for vectors >= 16 are one element off.
|
|
* score/cpu/i386/cpu.c, score/cpu/i386/cpu.h: let the default
exception handler print a stack trace.
|
|
* cpu.c, rtems/score/cpu.h: Change prototype of IDLE thread to
consistently return void * and take a uintptr_t argument.
|
|
* cpu.c, rtems/score/cpu.h: Eliminate _CPU_Thread_dispatch_pointer and
passing address of _Thread_Dispatch to _CPU_Initialize. Clean up
comments.
|
|
|
|
|
|
* cpu.c: Fix prototypes.
* rtems/score/cpu.h: Use memcpy() initialize FP structure and avoid
many casts and potential warnings.
|
|
* cpu.c, rtems/score/cpu.h: Correct prototype of Idle threads.
|
|
* cpu.c, rtems/score/cpu.h: Move interrupt_stack_size field from CPU
Table to Configuration Table. Eliminate CPU Table from all ports.
Delete references to CPU Table in all forms.
|
|
* score/cpu/arm/cpu.c, score/cpu/avr/cpu.c, score/cpu/bfin/cpu.c,
score/cpu/c4x/cpu.c, score/cpu/h8300/cpu.c, score/cpu/i386/cpu.c,
score/cpu/m68k/cpu.c, score/cpu/mips/cpu.c, score/cpu/nios2/cpu.c,
score/cpu/no_cpu/cpu.c, score/cpu/sh/cpu.c, score/cpu/sparc/cpu.c,
cpukit/sapi/src/exinit.c: Move copying of CPU Table to shared
executive initialization.
|
|
|
|
|
|
|
|
* cpu.c, cpu_asm.S, rtems/score/cpu.h, rtems/score/interrupts.h:
Convert to using c99 fixed size types.
|
|
* cpu.c, cpu_asm.S, rtems/score/cpu.h, rtems/score/i386.h,
rtems/score/idtr.h, rtems/score/interrupts.h,
rtems/score/registers.h, rtems/score/types.h: URL for license
changed.
|
|
* 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>.
|
|
* cpu.c: Include rtems/bspIo.h instead of bspIo.h.
|
|
|
|
|
|
|
|
to correct a typo CPU_HAS_OWN_HOST_TO_NETWORK_ROUTINES was actually
typed in as CPU_CPU_HAS_OWN_HOST_TO_NETWORK_ROUTINES.
|
|
on a fatal exception.
|
|
|