summaryrefslogtreecommitdiffstats
path: root/cpukit/score/cpu/i386/cpu.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2022-10-14score: Add CPU_THREAD_LOCAL_STORAGE_VARIANTSebastian Huber1-1/+1
Update #3835.
2022-02-28score/cpu/i386: Change license to BSD-2Joel Sherrill1-3/+20
sse_test.c was deliberarely NOT changed. Updates #3053.
2021-10-04improve the format error reporting on i386Zacchaeus Leung1-4/+4
2019-03-14Remove superfluous <rtems/system.h> includesSebastian Huber1-1/+0
2018-11-12i386: Remove use of proc_ptrSebastian Huber1-2/+2
Update #3585.
2018-03-13Rework i386 Paravirtualization to have paravirt.hJoel Sherrill1-1/+1
2018-03-12i386/include/rtems/score/types.h: Eliminate this fileJoel Sherrill1-1/+0
Updates #3327.
2017-06-12i386: Support thread-local storage (TLS)Sebastian Huber1-0/+25
Update #2468.
2017-06-09i386: Move _CPU_Context_Initialize()Sebastian Huber1-0/+56
Update #2468.
2017-04-14cpukit/../i386/cpu.c: Use inttypes.h to fix 1 warning.Cillian O'Donnell1-1/+2
2016-05-25score/i386: Fix printk format warnings.Chris Johns1-5/+7
2016-03-03i386: prepare for paravirtualized interruptsGedare Bloom1-0/+4
2016-03-03i386: move idle thread into BSP layerGedare Bloom1-8/+0
2016-02-17i386: Avoid SCORE_EXTERNSebastian Huber1-0/+4
Update #2559.
2015-06-26score: Simplify <rtems/system.h>Sebastian Huber1-0/+1
Drop the <rtems/score/percpu.h> include since this file exposes a lot of implementation details.
2014-05-07score: Implement forced thread migrationSebastian Huber1-0/+18
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.
2014-03-21Change all references of rtems.com to rtems.org.Chris Johns1-1/+1
2012-12-07score misc: Clean up Doxygen GCI Task #12Alex Ivanov1-13/+6
http://www.google-melange.com/gci/task/view/google/gci2012/7983217
2012-11-27score: Add CPU_Exception_frameSebastian Huber1-3/+9
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.
2012-05-11Remove All CVS Id Strings Possible Using a ScriptJoel Sherrill1-2/+0
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.
2011-12-092011-12-09 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius1-1/+1
* cpu.c: Make _defaultExcHandler static.
2011-07-242011-07-24 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-2/+1
* cpu.c, cpu_asm.S: Remove /*PAGE markers which were interpreted by a long dead print script.
2011-04-112011-04-11 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-1/+3
* sapi/include/confdefs.h, score/cpu/i386/cpu.c: Fix typos so you really can define a user scheduler.
2011-02-112011-02-11 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius1-6/+6
* 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.
2010-03-272010-03-27 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-0/+4
* cpu.c, cpu_asm.S, sse_test.c: Add include of config.h
2009-12-04Whitespace removal.Ralf Corsepius1-1/+1
2009-11-102009-11-09 Till Straumann <strauman@slac.stanford.edu>Till Straumann1-0/+33
* cpu.c, cpu_asm.S, rtems/score/cpu.h, sse_test.c: Added experimental SSE support.
2009-11-102009-11-09 Till Straumann <strauman@slac.stanford.edu>Till Straumann1-0/+1
PR 1469/cpukit * cpu.c: Add dummy entry for (non-existing) exception #15. Otherwise all slots for vectors >= 16 are one element off.
2009-10-202009-10-20 Till Straumann <strauman@slac.stanford.edu>Till Straumann1-2/+19
* score/cpu/i386/cpu.c, score/cpu/i386/cpu.h: let the default exception handler print a stack trace.
2009-02-122009-02-12 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-1/+1
* cpu.c, rtems/score/cpu.h: Change prototype of IDLE thread to consistently return void * and take a uintptr_t argument.
2009-02-112009-02-11 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-7/+2
* cpu.c, rtems/score/cpu.h: Eliminate _CPU_Thread_dispatch_pointer and passing address of _Thread_Dispatch to _CPU_Initialize. Clean up comments.
2008-12-07Fix typo.Ralf Corsepius1-1/+1
2008-09-05Stop using old-style defs.Ralf Corsepius1-2/+2
2008-08-192008-08-19 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill1-18/+18
* cpu.c: Fix prototypes. * rtems/score/cpu.h: Use memcpy() initialize FP structure and avoid many casts and potential warnings.
2008-07-312008-07-31 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill1-1/+2
* cpu.c, rtems/score/cpu.h: Correct prototype of Idle threads.
2007-12-042007-12-04 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill1-2/+0
* 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.
2007-05-222007-05-22 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill1-2/+0
* 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.
2007-04-17Use Context_Control_fp* instead of void* for fp_contexts.Ralf Corsepius1-2/+2
2004-04-16Remove stray white spaces.Ralf Corsepius1-4/+4
2004-04-15Remove stray white spaces.Ralf Corsepius1-1/+0
2004-03-302004-03-30 Ralf Corsepius <ralf_corsepius@rtems.org>Ralf Corsepius1-3/+3
* cpu.c, cpu_asm.S, rtems/score/cpu.h, rtems/score/interrupts.h: Convert to using c99 fixed size types.
2003-09-042003-09-04 Joel Sherrill <joel@OARcorp.com>Joel Sherrill1-1/+1
* 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.
2002-04-122002-03-29 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill1-2/+4
* 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>.
2002-01-062002-01-03 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill1-1/+1
* cpu.c: Include rtems/bspIo.h instead of bspIo.h.
2000-01-14Removed warning.Joel Sherrill1-0/+2
2000-01-04Removed unitialized variable warning.Joel Sherrill1-4/+3
1999-11-17Updated copyright notice.Joel Sherrill1-2/+1
1999-07-29Patch from Charles-Antoine Gauthier <charles.gauthier@iit.nrc.ca>Joel Sherrill1-1/+4
to correct a typo CPU_HAS_OWN_HOST_TO_NETWORK_ROUTINES was actually typed in as CPU_CPU_HAS_OWN_HOST_TO_NETWORK_ROUTINES.
1999-05-28At the request of Gumby, the cpu is now halted rather than spinningJoel Sherrill1-1/+1
on a fatal exception.
1999-02-24Corrected name of constant so this would compile.Joel Sherrill1-1/+1