summaryrefslogtreecommitdiffstats
path: root/cpukit/score (unfollow)
Commit message (Collapse)AuthorFilesLines
2020-01-03cpukit/score: avoid NULL and races in priority mutex4.10Gedare Bloom2-1/+9
The PIP modifications from #3359 introduced new data structures to track priority inheritance. Prioritized mutexes without PIP share some of the code paths, and may result in NULL pointer accesses. This patch checks for NULL, and also adds ISR critical sections to an uncovered corner case during thread restarts. Closes #3829.
2018-03-23score: add Inherited_priorities priority queue and functionsGedare Bloom11-16/+271
Adds enqueue, dequeue, requeue, evaluate, and release functions for the thread priority node priority queue of inherited priorities. Add calls to these functions as needed to maintain the priority queue due to blocking, unblocking, and priority changes. Closes #3359.
2018-03-23score: replace current and real priority with priority nodeGedare Bloom14-37/+46
Encapsulate the current_priority and real_priority fields of the thread control block with a Thread_Priority_node struct. Propagate modifications throughout the tree where the two fields are directly accessed. Updates #3359.
2018-01-11score: Use _Workspace_Allocate_or_fatal_error()Sebastian Huber1-5/+8
Use _Workspace_Allocate_or_fatal_error() consistently in case auto extend is turned off. This helps to avoid undefined behaviour in _API_Mutex_Allocate() in case _API_Mutex_Information() fails.
2018-01-10score/chain: Fix _Chain_Is_first and _Chain_Is_lastGedare Bloom1-2/+2
Updates #1964.
2014-08-20score: PR2179: Fix initially locked PI mutexSebastian Huber1-4/+10
2014-05-23score: PR2179: Fix initially locked PCP mutexesSebastian Huber1-2/+3
Elevate the priority of the creating task to the ceiling priority in case a semaphore is created as initially locked.
2013-08-26score: PR2140: Fix _Thread_queue_Process_timeout()Sebastian Huber1-8/+37
The _Thread_queue_Process_timeout() operation had several race conditions in the event of nested interrupts. Protect the critical sections via disabled interrupts.
2013-08-26score: PR2140: _Thread_queue_Extract()Sebastian Huber4-11/+14
Return if the executing context performed the extract operation since interrupts may interfere.
2013-01-07score: Fix _Objects_Shrink_information()Sebastian Huber1-20/+16
The chain iteration was wrong. The chain tail is not an object.
2012-12-06score: Critical fix for timer serverSebastian Huber1-7/+0
Under certain conditions it is possible that a call to _Watchdog_Adjust_to_chain() happens with a unit parameter value of zero (for example sptests/spintrcritical17). Remove superfluous checks that prevent an adjust to a chain of a watchdog chain which first element has a delta zero value.
2012-02-02Add .git ignore. Remove .cvsignoreJoel Sherrill17-33/+0
2011-11-282011-11-28 Werner Almesberger <werner@almesberger.net>Joel Sherrill1-15/+3
PR 1961/cpukit * score/src/coremsgsubmit.c: Close window caused by using message pending count rather than directly obtaining unused buffer.
2011-11-09Move entries to correct file.Joel Sherrill1-0/+7
2011-11-092011-11-09 Werner Almesberger <werner@almesberger.net>Joel Sherrill2-2/+7
PR 1954/cpukit * rtems/score/lm32.h: Protect against macro expansion.
2011-11-092011-11-09 Werner Almesberger <werner@almesberger.net>Joel Sherrill2-3/+3
PR 1957/cpukit * score/include/rtems/score/coremutex.h, score/inline/rtems/score/threadmp.inl: Add parentheses to protect macro arguments.
2011-11-092011-11-09 Werner Almesberger <werner@almesberger.net>Joel Sherrill2-2/+9
PR 1955/cpukit * rtems/score/cpu.h: Convert CPU_swap_u16 into a static inline.
2011-09-012011-09-01 Joel Sherrill <joel.sherrilL@OARcorp.com>Joel Sherrill3-10/+42
PR 1895/cpukit * posix/src/mqueuerecvsupp.c, posix/src/pthreadjoin.c, score/src/coretodmsecstoticks.c, score/src/coretodusectoticks.c, score/src/timespectoticks.c: Ensure time conversions to ticks do not ignore partial tick and return 1 less than desired.
2011-07-132009-11-09 Till Straumann <strauman@slac.stanford.edu>Till Straumann1-0/+5
* ChangeLog: had forgotten to commit ChangeLog
2011-05-25Cosmetics from CVS-HEAD.Ralf Corsepius26-62/+49
2011-04-20Fix formatting.Joel Sherrill1-7/+0
2011-04-202011-04-20 Rohan Kangralkar <rkangral@ece.neu.edu>Joel Sherrill5-3/+454
PR 1781/bsps * bfin/rtems/bf52x.h: This file defines basic MMR for the Blackfin 52x CPU. The MMR have been taken from the ADSP-BF52x Blackfin Processor Hardware Reference from Analog Devices. Mentioned Chapters refer to this Documentation.
2010-11-232010-11-23 Gedare Bloom <giddyup44@yahoo.com>Sebastian Huber2-1/+14
PR 1719/cpukit * arm_exc_abort.S: Avoid "bx" instruction to support ARMv4 and below.
2010-06-142010-06-14 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius4-14/+14
* libnetworking/rtems/mkrootfs.h, posix/include/rtems/posix/pthread.h, score/include/rtems/score/coresem.h, score/include/rtems/score/priority.h, score/include/rtems/score/threadq.h, score/include/rtems/score/timestamp.h: Move 'extern "C"'.
2010-06-122010-06-12 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius3-7/+7
* score/include/rtems/score/timestamp.h, score/include/rtems/score/timestamp64.h, score/include/rtems/score/watchdog.h: Misc. doxygen fixes.
2010-06-092010-06-09 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius1-1/+0
* configure.ac: Remove nios2 (unsupported, no toolchain). * score/cpu/Makefile.am: Remove nios2 (unsupported, no toolchain).
2010-06-09Remove (unsupported, no toolchain).Ralf Corsepius12-2446/+0
2010-06-09Remove (dead port).Ralf Corsepius13-3475/+0
2010-06-092010-06-09 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius1-1/+0
* score/cpu/Makefile.am: Remove c4x (dead port).
2010-05-292010-05-29 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2-1/+5
* irq.c: Change _exception_stack_frame into void*.
2010-05-232010-05-23 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2-0/+6
* cpu.c: Warning removal.
2010-05-212010-05-21 Vinu Rajashekhar <vinutheraj@gmail.com>Joel Sherrill2-115/+6
* rtems/score/registers.h: Remove structs with bit-fields. Add a mask for cr3 page directory.
2010-05-102010-05-10 Joel Sherrill <joel.sherrilL@OARcorp.com>Joel Sherrill2-1/+6
* rtems/score/arm.h: Make it a warning not error that the FPU multilib is not supported yet.
2010-05-102010-05-10 Joel Sherrill <joel.sherrilL@OARcorp.com>Joel Sherrill4-4/+31
* context_init.c, context_switch.S, cpu.c: Now builds multilib. R8C paths produce warnings for now.
2010-05-102010-05-10 Joel Sherrill <joel.sherrilL@OARcorp.com>Joel Sherrill162-2171/+52157
* Makefile.am, cpu_asm.S, avr/boot.h, avr/common.h, avr/crc16.h, avr/delay.h, avr/eeprom.h, avr/fuse.h, avr/interrupt.h, avr/io.h, avr/io1200.h, avr/io2313.h, avr/io2323.h, avr/io2333.h, avr/io2343.h, avr/io43u32x.h, avr/io43u35x.h, avr/io4414.h, avr/io4433.h, avr/io4434.h, avr/io76c711.h, avr/io8515.h, avr/io8534.h, avr/io8535.h, avr/io86r401.h, avr/io90pwm1.h, avr/io90pwm216.h, avr/io90pwm2b.h, avr/io90pwm316.h, avr/io90pwm3b.h, avr/io90pwm81.h, avr/io90pwmx.h, avr/io90scr100.h, avr/ioa6289.h, avr/ioat94k.h, avr/iocan128.h, avr/iocan32.h, avr/iocan64.h, avr/iocanxx.h, avr/iom103.h, avr/iom128.h, avr/iom1280.h, avr/iom1281.h, avr/iom1284p.h, avr/iom128rfa1.h, avr/iom16.h, avr/iom161.h, avr/iom162.h, avr/iom163.h, avr/iom164.h, avr/iom165.h, avr/iom165p.h, avr/iom168.h, avr/iom168p.h, avr/iom169.h, avr/iom169p.h, avr/iom16hva.h, avr/iom16m1.h, avr/iom16u4.h, avr/iom2560.h, avr/iom2561.h, avr/iom32.h, avr/iom323.h, avr/iom324.h, avr/iom325.h, avr/iom3250.h, avr/iom328p.h, avr/iom329.h, avr/iom3290.h, avr/iom32c1.h, avr/iom32hvb.h, avr/iom32m1.h, avr/iom32u4.h, avr/iom32u6.h, avr/iom406.h, avr/iom48.h, avr/iom48p.h, avr/iom64.h, avr/iom640.h, avr/iom644.h, avr/iom645.h, avr/iom6450.h, avr/iom649.h, avr/iom6490.h, avr/iom64c1.h, avr/iom64m1.h, avr/iom8.h, avr/iom8515.h, avr/iom8535.h, avr/iom88.h, avr/iom88p.h, avr/iom8hva.h, avr/iomx8.h, avr/iomxx0_1.h, avr/iomxx4.h, avr/iomxxhva.h, avr/iotn11.h, avr/iotn12.h, avr/iotn13.h, avr/iotn13a.h, avr/iotn15.h, avr/iotn167.h, avr/iotn22.h, avr/iotn2313.h, avr/iotn24.h, avr/iotn25.h, avr/iotn26.h, avr/iotn261.h, avr/iotn28.h, avr/iotn43u.h, avr/iotn44.h, avr/iotn45.h, avr/iotn461.h, avr/iotn48.h, avr/iotn84.h, avr/iotn85.h, avr/iotn861.h, avr/iotn87.h, avr/iotn88.h, avr/iotnx4.h, avr/iotnx5.h, avr/iotnx61.h, avr/iousb1286.h, avr/iousb1287.h, avr/iousb162.h, avr/iousb646.h, avr/iousb647.h, avr/iousb82.h, avr/iousbxx2.h, avr/iousbxx6_7.h, avr/iox128a1.h, avr/iox128a3.h, avr/iox16a4.h, avr/iox16d4.h, avr/iox256a3.h, avr/iox256a3b.h, avr/iox32a4.h, avr/iox32d4.h, avr/iox64a1.h, avr/iox64a3.h, avr/lock.h, avr/parity.h, avr/pgmspace.h, avr/portpins.h, avr/power.h, avr/sfr_defs.h, avr/signal.h, avr/sleep.h, avr/version.h, avr/wdt.h, rtems/asm.h, rtems/score/cpu.h: Update to avr .h files from avr-libc 1.6.8. Tinker with code and includes to eliminate warnings. Now builds multilib. * avr/iom169pa.h, avr/iom16a.h, avr/iom16hva2.h, avr/iom16hvb.h, avr/iom16u2.h, avr/iom324pa.h, avr/iom32u2.h, avr/iom644p.h, avr/iom644pa.h, avr/iom649p.h, avr/iom64hve.h, avr/iom88pa.h, avr/iom8u2.h, avr/iotn2313a.h, avr/iotn24a.h, avr/iotn261a.h, avr/iotn4313.h, avr/iotn44a.h, avr/iotn461a.h, avr/iotn861a.h, avr/iox128d3.h, avr/iox192a3.h, avr/iox192d3.h, avr/iox256d3.h, avr/iox64d3.h, avr/signature.h: New files.
2010-04-252010-04-25 Joel Sherrill <joel.sherrilL@OARcorp.com>Joel Sherrill2-6/+10
* context_init.c: Eliminate warnings.
2010-04-252010-04-25 Joel Sherrill <joel.sherrilL@OARcorp.com>Joel Sherrill3-14/+57
* cpu.c, rtems/score/cpu.h: Move _CPU_Context_Initialize() to cpu.c so it is easier to make warning free.
2010-04-252010-04-25 Joel Sherrill <joel.sherrilL@OARcorp.com>Joel Sherrill2-2/+6
* rtems/score/cpu.h: Remove warning in _CPU_Context_Initialize.
2010-04-252010-04-25 Joel Sherrill <joel.sherrilL@OARcorp.com>Joel Sherrill4-6/+14
* rtems/score/cpu.h: Remove warning in _CPU_Context_Initialize.
2010-04-202010-04-20 Allan Hessenflow <allanh@kallisti.com>Joel Sherrill2-9/+26
* cpu_asm.S: L0-L3 were part of the interrupt context, but as Mike Frysinger noted they were not being zeroed before calling the C handlers. A patch that corrects this, as well as improving some of the push/pop order to avoid stalls.
2010-04-172010-04-17 Allan Hessenflow <allanh@kallisti.com>Joel Sherrill4-32/+8
* cpu.c, cpu_asm.S, rtems/score/cpu.h: Fine tune registers saved in the context. The sp and imask registers need to be saved. Also allocated 12 bytes on the stack at thread entry as the abi requires that.
2010-04-172010-04-17 Mike Frysinger <vapier.adi@gmail.com>Joel Sherrill2-0/+10
* cpu.c: Blackfin ABI requires L registers to be 0 upon function entry.
2010-04-152010-04-15 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2-1/+6
* rtems/score/cpu.h: Make _gp global.
2010-04-122010-04-12 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius1-1/+1
* score/include/rtems/system.h: Let RTEMS_offsetof return uintptr_t instead of uint32_t (16bit target compatibility).
2010-04-082010-04-08 Till Straumann <strauman@slac.stanford.edu>Joel Sherrill3-8/+23
* cpu_asm.S, rtems/score/cpu.h: On uC5282, the thread restart needed to reload the frame pointer. As part of doing this, the code was moved from inline asm to the .S file.
2010-04-08add/adapt documentationThomas Doerfler13-69/+190
2010-04-072010-04-07 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-1/+0
* score/src/wkspace.c: Remove duplicate include.
2010-04-072010-04-07 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-0/+6
* score/include/rtems/system.h: Fix warnings about TRUE/FALSE not defined on ARM target. This file need to be clean from .S files.
2010-04-072010-04-07 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2-1/+5
* arm_exc_abort.S: Fix warnings about TRUE/FALSE not defined.
2010-03-28Fix.Joel Sherrill1-3/+4