summaryrefslogtreecommitdiffstats
path: root/cpukit/include (follow)
Commit message (Collapse)AuthorAgeFilesLines
* libmisc/shell: Add an 'rtems' command to report a running buildChris Johns2022-08-031-0/+6
| | | | - Report version, cpu, bsp, tools and options.
* sys/exec_elf.h: Bring in newer fileRyan Long2022-07-291-232/+608
| | | | | | Updated this file with the newer version in NetBSD. Updates #4682
* score: Allow linker garbage collectionSebastian Huber2022-07-282-3/+3
| | | | | | | Place the object control blocks in dedicated sections to allow a linker garbage collection. Update #4678.
* score: Use PTHREAD_CANCELED for _Thread_Cancel()Sebastian Huber2022-07-281-4/+1
| | | | | | | | | | The rtems_task_delete() directive is basically just a combined pthread_cancel() and pthread_join(). In addition, it removes the PTHREAD_DETACHED state. The exit value returned by pthread_join() of threads cancelled by rtems_task_delete() should reflect this by getting a PTHREAD_CANCELED value instead of NULL which could be a normal exit value. Close #4680.
* score: Use priority inheritance for thread joinSebastian Huber2022-07-282-31/+78
| | | | | | | | | | | | | | | | | | | | | Threads may join the thread termination of another thread using the pthread_join() or rtems_task_delete() directives. The thread cancel operation used a special case priority boosting mechanism implemented by _Thread_Raise_real_priority(). The problem was that this approach * is not transitive, * does not account for priority adjustments of the calling task while waiting for the join, * does not support clustered scheduling, and * does not detect deadlocks. All these problems are fixed by using a priority inheritance thread queue for the join operation. Close #4679.
* score: Fix objects local table initializationSebastian Huber2022-07-272-4/+2
| | | | | | | | The objects local table must be statically zero-initialized so that _Objects_Get() and _Objects_Get_no_protection() return NULL if no object is associated with the identifier. Update #4678.
* score: Remove PRIORITY_PSEUDO_ISR thread prioritySebastian Huber2022-07-267-123/+243
| | | | | | | | | | | | | | | The uniprocessor schedulers had some special case logic for the PRIORITY_PSEUDO_ISR priority. Tasks with a priority of PRIORITY_PSEUDO_ISR were allowed to preempt a not preemptible task. If other higher priority task are made ready while a PRIORITY_PSEUDO_ISR task preempts a not preemptible task, then the other tasks run before the not preemptible task. This made the RTEMS_NO_PREEMPT mode ineffective. Remove the PRIORITY_PSEUDO_ISR special case logic. This simplifies the uniprocessor schedulers. Move the uniprocessor-specific scheduler support to the new header file <rtems/score/scheduleruniimpl.h>. Close #2365.
* imfs: Add <rtems/imfsimpl.h>Sebastian Huber2022-07-252-37/+93
|
* libtest: Add missing initializerSebastian Huber2022-07-251-1/+1
|
* Support _REENT_THREAD_LOCAL Newlib configurationMatt Joyce2022-07-214-14/+27
| | | | | | | | | In case the Newlib _REENT_THREAD_LOCAL configuration option is enabled, the struct _reent is not defined (there is only a forward declaration in <sys/reent.h>). Instead, the usual members of struct _reent are available as dedicatd thread-local storage objects. Update #4560.
* score: Fix unlimited objects supportSebastian Huber2022-07-181-4/+25
| | | | | | | | Commit 21275b58a5a69c3c838082ffc8a7a3641f32ea9a ("score: Static Objects_Information initialization") introduced an off-by-one error in the maintenance of inactive objects. Close #4677.
* score: Extend memory dirty/zero actionsSebastian Huber2022-07-151-1/+13
| | | | | | Dirty or zero also the part of the .noinit section used by RTEMS. Close #4678.
* score: Place object controls into .noinit sectionsSebastian Huber2022-07-152-5/+11
| | | | | | | | | | | | Place the statically allocated object control blocks, local tables, and thread queue heads into the dedicated .noinit intput sections. The output section is not zero initialized. Placing these elements into the .noinit section reduces the system initialization time by decreasing the .bss section size. It may improve the cache efficiency since the mostly read local tables are placed in a contiguous memory area. Update #4678.
* Add in_localip_fib(), in6_localip_fib().Gleb Smirnoff2022-07-112-0/+2
| | | | | | | Check if given address/FIB exists locally. Reviewed by: melifaro Differential revision: https://reviews.freebsd.org/D32913
* Use network epoch to protect local IPv4 addresses hash.Gleb Smirnoff2022-07-111-0/+4
| | | | | | | | | | | | | The modification to the hash are already naturally locked by in_control_sx. Convert the hash lists to CK lists. Remove the in_ifaddr_rmlock. Assert the network epoch where necessary. Most cases when the hash lookup is done the epoch is already entered. Cover a few cases, that need entering the epoch, which mostly is initial configuration of tunnel interfaces and multicast addresses. Reviewed by: melifaro Differential revision: https://reviews.freebsd.org/D32584
* routing: fix source address selection rules for IPv4 over IPv6.Alexander V. Chernikov2022-07-111-0/+1
| | | | | | | | | | | | Current logic always selects an IFA of the same family from the outgoing interfaces. In IPv4 over IPv6 setup there can be just single non-127.0.0.1 ifa, attached to the loopback interface. Create a separate rt_getifa_family() to handle entire ifa selection for the IPv4 over IPv6. Differential Revision: https://reviews.freebsd.org/D31868 MFC after: 1 week
* Remove copyinfrom() and copyinstrfrom().John Baldwin2022-07-111-4/+0
| | | | | | | | | | | These functions were added in 2001 and are currently unused. copyinfrom() looks to have never been used. copyinstrfrom() was used for two weeks before the code was refactored to remove it's sole use. Reviewed by: brooks, kib Obtained from: CheriBSD Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D24928
* score: Conditional _Thread_Priority_replace()Sebastian Huber2022-07-071-0/+2
| | | | This function is only used in SMP configurations.
* gcov: Add functions to dump the gcov informationSebastian Huber2022-07-042-0/+93
| | | | Update #4670.
* score: Account for <sys/bitset.h> API changesSebastian Huber2022-06-231-17/+73
| | | | Update #4667.
* score: Remove unused _Processor_mask_Nand()Sebastian Huber2022-06-231-16/+0
| | | | Update #4667.
* score: Make SMP only code explicitSebastian Huber2022-06-231-28/+5
| | | | | | | Conditional expressions with inline functions are not optimized away if optimization is disabled. Avoid such expressions to prevent dead branches. It helps also during code review to immediately see if a loop is used or not.
* TFTPFS: Implement block and window size optionsFrank Kühndel2022-06-211-14/+393
| | | | | | | | | | | | | | | | | | | | | The original file cpukit/libfs/src/ftpfs/tftpDriver.c is split into two: tftpfs.c - This file contains the code from tftpDriver.c related to file system operations such as mount(), open(), read(), and so on. tftpDriver.c - In the original file remains only the code related to networking. This code implements the Trivial File Transfer Protocol (TFTP). Moreover, the code is extended to support * RFC 2347 TFTP Option Extension * RFC 2348 TFTP Blocksize Option * RFC 7440 TFTP Windowsize Option Update #4666.
* timecounter.h: Add _Timecounter_Discipline()Gabriel Moyano2022-05-232-0/+26
| | | | Update #2349.
* timepps.h: PPS_SYNC defined by defaultGabriel Moyano2022-05-231-0/+1
| | | | Update #2349.
* score: Rename tc_getfrequency()Gabriel Moyano2022-05-232-0/+18
| | | | | | Rename tc_getfrequency() to _Timecounter_Get_frequency(). Update #2349.
* kern_tc.c: Replace FreeBSD event mechanism by adding pointers to functionGabriel Moyano2022-05-231-0/+24
| | | | Update #2349.
* kern_tc.c: Add atomic dependencies required by the PPS APIGabriel Moyano2022-05-231-0/+7
| | | | Update #2349.
* Add file descriptions to kernel space headersSebastian Huber2022-05-189-3/+53
|
* Fix copyright notice of kernel space headersSebastian Huber2022-05-186-53/+59
| | | | | Use the copyright notice of the associated header file from FreeBSD if the kernel space header file contains a substantial amount of imported code.
* Add include guard checks to kernel space headersSebastian Huber2022-05-182-0/+8
|
* score: Add SMP priority affinity scheduler yieldTian Ye2022-05-121-1/+7
|
* include: Add file headers and licensesRyan Long2022-05-042-0/+66
| | | | | These files had no header, copyright, or license. Based on git history, added appropriate copyrights and licenses.
* ftpd.h: Add file header and licenseRyan Long2022-05-041-1/+30
| | | | | This file had no header, copyright, or license. Based on git history, added appropriate copyright and license.
* include/pci: Add file header and licenseRyan Long2022-05-041-1/+20
| | | | | This file had no header, copyright, or license. Based on git history, added appropriate copyright and license.
* cpukit/include/rtems: Add file headers and licensesRyan Long2022-05-042-0/+53
| | | | | These files had no header, copyright, or licenses. Based on git history, added appropriate copyright and license.
* cpukit/include: Adding file headers and licensesRyan Long2022-05-047-4/+207
| | | | | These files had no file header, copyright, or license. Based on git history, added appropriate copyright and license.
* heap: Fix heap statistics with protection enabledSebastian Huber2022-04-281-9/+1
| | | | Close #4644.
* shell: Add rtems_shell_run_main_loop()Sebastian Huber2022-04-061-0/+25
| | | | | | | In contrast to rtems_shell_main_loop(), this new function does not perform all sorts of initialization based on environment settings. For example, due to the use of isatty() in rtems_shell_main_loop() it is impossible to run an interactive shell through a socket connection.
* Update email address of Fernando Ruiz Casas to <fruizcasas@gmail.com>Joel Sherrill2022-04-053-14/+20
| | | | This was requested to be executed prior to relicensing to BSD-2.
* cpukit/include; Remove SPDX from Gaisler files NOT changed to BSD-2Joel Sherrill2022-04-0212-24/+0
|
* cpukit/include/rtems/timespec.h: Change license to BSD-2Joel Sherrill2022-04-011-3/+22
| | | | | | Permission received from Krzysztof Miesowicz. Updates #3053.
* cpukit/include/rtems/cbs.h: Change license to BSD-2Joel Sherrill2022-04-011-3/+22
| | | | | | Permission received from Petr Benes Updates #3053.
* rtems: Clarify scheduler of created taskSebastian Huber2022-03-291-3/+3
|
* cpukit/include/rtems/confdefs/libpci.h: Manual file header clean upJoel Sherrill2022-03-251-8/+8
|
* cpukit/include/pci: Manual header file clean upJoel Sherrill2022-03-257-9/+61
|
* cpukit/include/drvmgr: Manual header file clean upJoel Sherrill2022-03-254-7/+35
|
* cpukit/include/pci.h: Manual header clean upJoel Sherrill2022-03-251-2/+11
|
* cpukit/include/*.h: Change license to BSD-2Joel Sherrill2022-03-252-6/+44
| | | | Updates #3053.
* cpukit/include/sys: Change license to BSD-2.Joel Sherrill2022-03-2531-97/+686
| | | | Updates #3053.