summaryrefslogtreecommitdiffstats
path: root/cpukit/score/cpu/i386/cpu.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* score: Add CPU_THREAD_LOCAL_STORAGE_VARIANTSebastian Huber2022-10-141-1/+1
| | | | Update #3835.
* score/cpu/i386: Change license to BSD-2Joel Sherrill2022-02-281-3/+20
| | | | | | sse_test.c was deliberarely NOT changed. Updates #3053.
* improve the format error reporting on i386Zacchaeus Leung2021-10-041-4/+4
|
* Remove superfluous <rtems/system.h> includesSebastian Huber2019-03-141-1/+0
|
* i386: Remove use of proc_ptrSebastian Huber2018-11-121-2/+2
| | | | Update #3585.
* Rework i386 Paravirtualization to have paravirt.hJoel Sherrill2018-03-131-1/+1
|
* i386/include/rtems/score/types.h: Eliminate this fileJoel Sherrill2018-03-121-1/+0
| | | | Updates #3327.
* i386: Support thread-local storage (TLS)Sebastian Huber2017-06-121-0/+25
| | | | Update #2468.
* i386: Move _CPU_Context_Initialize()Sebastian Huber2017-06-091-0/+56
| | | | Update #2468.
* cpukit/../i386/cpu.c: Use inttypes.h to fix 1 warning.Cillian O'Donnell2017-04-141-1/+2
|
* score/i386: Fix printk format warnings.Chris Johns2016-05-251-5/+7
|
* i386: prepare for paravirtualized interruptsGedare Bloom2016-03-031-0/+4
|
* i386: move idle thread into BSP layerGedare Bloom2016-03-031-8/+0
|
* i386: Avoid SCORE_EXTERNSebastian Huber2016-02-171-0/+4
| | | | Update #2559.
* score: Simplify <rtems/system.h>Sebastian Huber2015-06-261-0/+1
| | | | | Drop the <rtems/score/percpu.h> include since this file exposes a lot of implementation details.
* score: Implement forced thread migrationSebastian Huber2014-05-071-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.
* Change all references of rtems.com to rtems.org.Chris Johns2014-03-211-1/+1
|
* score misc: Clean up Doxygen GCI Task #12Alex Ivanov2012-12-071-13/+6
| | | | http://www.google-melange.com/gci/task/view/google/gci2012/7983217
* score: Add CPU_Exception_frameSebastian Huber2012-11-271-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.
* Remove All CVS Id Strings Possible Using a ScriptJoel Sherrill2012-05-111-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-09 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2011-12-091-1/+1
| | | | * cpu.c: Make _defaultExcHandler static.
* 2011-07-24 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2011-07-241-2/+1
| | | | | * cpu.c, cpu_asm.S: Remove /*PAGE markers which were interpreted by a long dead print script.
* 2011-04-11 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2011-04-111-1/+3
| | | | | * sapi/include/confdefs.h, score/cpu/i386/cpu.c: Fix typos so you really can define a user scheduler.
* 2011-02-11 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2011-02-111-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-27 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2010-03-271-0/+4
| | | | * cpu.c, cpu_asm.S, sse_test.c: Add include of config.h
* Whitespace removal.Ralf Corsepius2009-12-041-1/+1
|
* 2009-11-09 Till Straumann <strauman@slac.stanford.edu>Till Straumann2009-11-101-0/+33
| | | | | * cpu.c, cpu_asm.S, rtems/score/cpu.h, sse_test.c: Added experimental SSE support.
* 2009-11-09 Till Straumann <strauman@slac.stanford.edu>Till Straumann2009-11-101-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-20 Till Straumann <strauman@slac.stanford.edu>Till Straumann2009-10-201-2/+19
| | | | | * score/cpu/i386/cpu.c, score/cpu/i386/cpu.h: let the default exception handler print a stack trace.
* 2009-02-12 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2009-02-121-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-11 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2009-02-111-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.
* Fix typo.Ralf Corsepius2008-12-071-1/+1
|
* Stop using old-style defs.Ralf Corsepius2008-09-051-2/+2
|
* 2008-08-19 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill2008-08-191-18/+18
| | | | | | * cpu.c: Fix prototypes. * rtems/score/cpu.h: Use memcpy() initialize FP structure and avoid many casts and potential warnings.
* 2008-07-31 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill2008-07-311-1/+2
| | | | * cpu.c, rtems/score/cpu.h: Correct prototype of Idle threads.
* 2007-12-04 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill2007-12-041-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-22 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill2007-05-221-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.
* Use Context_Control_fp* instead of void* for fp_contexts.Ralf Corsepius2007-04-171-2/+2
|
* Remove stray white spaces.Ralf Corsepius2004-04-161-4/+4
|
* Remove stray white spaces.Ralf Corsepius2004-04-151-1/+0
|
* 2004-03-30 Ralf Corsepius <ralf_corsepius@rtems.org>Ralf Corsepius2004-03-301-3/+3
| | | | | * cpu.c, cpu_asm.S, rtems/score/cpu.h, rtems/score/interrupts.h: Convert to using c99 fixed size types.
* 2003-09-04 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2003-09-041-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-03-29 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2002-04-121-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-03 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2002-01-061-1/+1
| | | | * cpu.c: Include rtems/bspIo.h instead of bspIo.h.
* Removed warning.Joel Sherrill2000-01-141-0/+2
|
* Removed unitialized variable warning.Joel Sherrill2000-01-041-4/+3
|
* Updated copyright notice.Joel Sherrill1999-11-171-2/+1
|
* Patch from Charles-Antoine Gauthier <charles.gauthier@iit.nrc.ca>Joel Sherrill1999-07-291-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.
* At the request of Gumby, the cpu is now halted rather than spinningJoel Sherrill1999-05-281-1/+1
| | | | on a fatal exception.
* Corrected name of constant so this would compile.Joel Sherrill1999-02-241-1/+1
|