summaryrefslogtreecommitdiffstats
path: root/cpukit (unfollow)
Commit message (Collapse)AuthorFilesLines
2022-09-23score: Simplify Chain_Node definitionSebastian Huber1-16/+6
Fix documentation.
2022-09-23rtems: Add rtems_clock_get_ticks_since_boot() functionSebastian Huber1-0/+53
This function was declared, however, a definition was missing. Add a validation test for it.
2022-09-22rtems: Fix typo in rtems_build_name() definitionSebastian Huber1-1/+1
2022-09-20bsps/riscv: Add Microchip PolarFire SoC BSP variantPadmarao Begari2-2/+2
The Microchip PolarFire SoC support is implemented as a riscv BSP variant to boot with any individual hart(cpu core) or SMP based on the boot HARTID configurable and support components are 4 CPU Cores (U54), Interrupt controller (PLIC), Timer (CLINT), UART.
2022-09-19Do not use RTEMS_INLINE_ROUTINESebastian Huber137-982/+982
Directly use "static inline" which is available in C99 and later. This brings the RTEMS implementation closer to standard C. Close #3935.
2022-09-12score: Prevent an out of bounds warningSebastian Huber1-2/+7
Update #4702.
2022-09-09score: Remove _CPU_Counter_difference()Sebastian Huber23-187/+19
All CPU ports used the same _CPU_Counter_difference() implementation. Remove this CPU port interface and mandate a monotonically increasing CPU counter. Close #3456.
2022-09-08libcrypt: There is no need to clear message digestXin LI2-4/+0
context after they are finialized after r336539, so do not do it. Submitted by: David CARLIER <devnexen gmail com> MFC after: 1 month (after r336539) Differential Revision: https://reviews.freebsd.org/D16059
2022-09-08Get rid of unused variables.Xin LI2-16/+2
copied_key and copied_salt are assigned with NULL and never used otherwise. Remove the two variables and related code. Reviewed by: pfg MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D16314
2022-09-08lib: further adoption of SPDX licensing ID tags.Pedro F. Giffuni3-2/+8
Mainly focus on files that use BSD 2-Clause license, however the tool I was using mis-identified many licenses so this was mostly a manual - error prone - task. The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts.
2022-09-08General further adoption of SPDX licensing ID tags.Pedro F. Giffuni1-1/+3
Mainly focus on files that use BSD 3-Clause license. The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts. Special thanks to Wind River for providing access to "The Duke of Highlander" tool: an older (2014) run over FreeBSD tree was useful as a starting point.
2022-09-08libmd: Always erase context in _Final method,Xin LI2-5/+5
and when doing it, consistently use explicit_bzero(). Update manual pages to match the behavior. Reviewed by: pfg, allanjude, jmg MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D16316
2022-09-08Implement SHA2-224 submode of SHA2-256Conrad Meyer2-0/+113
Like SHA2-384:SHA2-512, SHA2-224 is simply a truncated SHA2-256 with a different initial vector. Add to round out the complete basic SHA2 family.
2022-09-08Fix C++ includability of crypto headers with static array sizesAlan Somers4-5/+10
C99 allows array function parameters to use the static keyword for their sizes. This tells the compiler that the parameter will have at least the specified size, and calling code will fail to compile if that guarantee is not met. However, this syntax is not legal in C++. This commit reverts r300824, which worked around the problem for sys/sys/md5.h only, and introduces a new macro: min_size(). min_size(x) can be used in headers as a static array size, but will still compile in C++ mode. Reviewed by: cem, ed MFC after: 4 weeks Sponsored by: Spectra Logic Corp Differential Revision: https://reviews.freebsd.org/D8277
2022-09-08Retune SHA2 code for improved performance on CPUsColin Percival2-190/+198
with more ILP and a preference for memory load instructions over large code footprints with embedded immediate variables. On amd64 CPUs from 2007-2008 there is not a significant change, but amd64 CPUs from 2009-2010 get roughly 10% more throughput with this code; amd64 CPUs from 2011-2012 get roughly 15% more throughput; and AMD64 CPUs from 2013-2015 get 20-25% more throughput. The Raspberry Pi 2 increases its throughput by 6-8%. Sponsored by: Tarsnap Backup Inc. Performance tested by: allanjude MFC after: 3 weeks
2022-09-08Implement SHA-512 truncated (224 and 256 bits)Allan Jude2-0/+150
This implements SHA-512/256, which generates a 256 bit hash by calculating the SHA-512 then truncating the result. A different initial value is used, making the result different from the first 256 bits of the SHA-512 of the same input. SHA-512 is ~50% faster than SHA-256 on 64bit platforms, so the result is a faster 256 bit hash. The main goal of this implementation is to enable support for this faster hashing algorithm in ZFS. The feature was introduced into ZFS in r289422, but is disconnected because SHA-512/256 support was missing. A further commit will enable it in ZFS. This is the follow on to r292782 Reviewed by: cem Sponsored by: ScaleEngine Inc. Differential Revision: https://reviews.freebsd.org/D6061
2022-09-08crypto routines: Hint minimum buffer sizes to the compilerConrad Meyer5-9/+10
Use the C99 'static' keyword to hint to the compiler IVs and output digest sizes. The keyword informs the compiler of the minimum valid size for a given array. Obviously not every pointer can be validated (i.e., the compiler can produce false negative but not false positive reports). No functional change. No ABI change. Sponsored by: EMC / Isilon Storage Division
2022-09-08Replace sys/crypto/sha2/sha2.c with lib/libmd/sha512c.cAllan Jude4-19/+149
cperciva's libmd implementation is 5-30% faster The same was done for SHA256 previously in r263218 cperciva's implementation was lacking SHA-384 which I implemented, validated against OpenSSL and the NIST documentation Extend sbin/md5 to create sha384(1) Chase dependancies on sys/crypto/sha2/sha2.{c,h} and replace them with sha512{c.c,.h} Reviewed by: cperciva, des, delphij Approved by: secteam, bapt (mentor) MFC after: 2 weeks Sponsored by: ScaleEngine Inc. Differential Revision: https://reviews.freebsd.org/D3929
2022-09-08powerpc: Add support for VRSAVESebastian Huber3-15/+92
The VRSAVE feature of the Altivec unit can be used to reduce the amount of Altivec registers which need to be saved/restored during interrupt processing and context switches. In order to use the VRSAVE optimization a corresponding multilib (-mvrsave) is required, see GCC configuration. The -mvrsave option must be added to the ABI_FLAGS of the BSP. Currently only the -mcpu=e6500 based QorIQ BSP support this optimization. Update #4712.
2022-09-08rtems: Include <rtems/score/cpuopts.h>Sebastian Huber3-0/+3
Directly include <rtems/score/cpuopts.h> in header files using CPU build options.
2022-09-08score: Improve formattingSebastian Huber1-4/+10
2022-09-06pthread_atfork(): Change to behavior from FACE Technical StandardJoel Sherrill1-8/+5
Closes #4713.
2022-09-05config: Add SMP scheduler configuration errorsSebastian Huber1-0/+20
Issue an error message if an SMP-specific scheduler is used and RTEMS_SMP is disabled. This might be a more informative compared to compiler or linker errors.
2022-09-05score: Regenerate <rtems/score/basedefs.h>Sebastian Huber1-2/+2
Two interface specification items moved.
2022-09-05rtems: Add constraints for rtems_clock_tick()Sebastian Huber1-0/+12
2022-09-05Add items to Doxygen groupsSebastian Huber16-17/+53
2022-09-05config: Document CONFIGURE_POSIX_TIMERS_FACE_BEHAVIORSebastian Huber1-0/+49
Update #4691.
2022-08-31Fix pedanic warnings without a storage increaseSebastian Huber2-1/+11
Use RTEMS_ZERO_LENGTH_ARRAY for flexible array member. Update #4662.
2022-08-31libtest: Fix warnings without a pragmaSebastian Huber2-21/+14
It seems that recent GCC versions expect that functions with a "const type *" parameter will read from the referenced location. Update #4662.
2022-08-31config: Include <rtems/posix/timer.h> on demandSebastian Huber1-2/+3
Updates #4691.
2022-08-30score: Do not expose <limits.h> to <rtems.h>Sebastian Huber1-3/+1
The <rtems.h> header file should not unnecessarily include standard C header files. The <string.h> and <limits.h> header includes were removed in 2017. Update #4662.
2022-08-29score: Fix formatSebastian Huber1-1/+1
Update #4706.
2022-08-29score: Fix formatSebastian Huber2-3/+3
Update #4706.
2022-08-29Revert "linkersets.h: Fix gcc 12 warning"Sebastian Huber1-1/+1
This reverts commit f930206724e65f188fe3b095826ceb1b11000f65. The linker set begin must be a symbol and not a zero-initialized item.
2022-08-25libdebugger/aarch64: Set .start section to RWChris Johns1-1/+22
- Stops the server crashing when setting breakpoints in .start
2022-08-22cpukit/include: Fix including in C++Chris Johns7-13/+32
UPdates #4706
2022-08-22cpukit/include: Fixes for C++Chris Johns4-6/+14
Updates #4706
2022-08-19cpu.h: Fix gcc 12 warningsRyan Long1-2/+18
Added two pragmas to address, and changed the value of AARCH64_EXCEPTION_MAKE_ENUM_64_BIT to INT_MAX because the old value was not in range of an int. Updates #4662
2022-08-19test.h: Add pragma for gcc 12 warningRyan Long1-0/+7
Updates #4662
2022-08-19schedulerpriority.h: Fix gcc 12 warningRyan Long1-1/+1
Changed the size of the array to 1 to get rid of the warning. Updates #4662
2022-08-19percpu.h: Add pragma for gcc 12 warningRyan Long1-0/+8
Updates #4662
2022-08-19interr.h: Fix gcc 12 warningRyan Long1-1/+3
The warning that this fixes states that "ISO C restricts enumerator values to range of 'int'." Updates #4662
2022-08-19linkersets.h: Fix gcc 12 warningRyan Long1-1/+1
Changing the offset from 0 to 1 got rid of a warning stating that offset 0 is out of bounds. Updates #4662
2022-08-19threads.h: Add pragmas to get rid of gcc 12 errorsRyan Long1-0/+15
Updates #4662
2022-08-10cpukit/include/rtems/test-info.h: Change @returns to @returnJoel Sherrill1-3/+3
2022-08-10Add support for CONFIGURE_POSIX_TIMERS_FACE_BEHAVIORJoel Sherrill4-2/+129
This adds the configure option CONFIGURE_POSIX_TIMERS_FACE_BEHAVIOR which allows the application to choose whether to have the POSIX timer_create() function follow the behavior defined by POSIX or the FACE Technical Standard. Updates #4691.
2022-08-10rtems/malloc.h: Add API level Doxygen groupSebastian Huber1-19/+41
The interfaces in the MallocSupport group belong to the implementation. They are used by confdefs.h for example.
2022-08-10libtest: Add T_report_hash_sha256_update()Sebastian Huber2-0/+11
Update #3716.
2022-08-08libdl: Refactor shared code in ARM and AArch64Ryan Long4-158/+113
rtl-mdreloc-arm.c was used as the basis for rtl-mdreloc-aarch64.c. This lead to some code being shared by the two files. The code was consolidated into rtl-unwind-arm.c. Closes #4686
2022-08-05posix: Avoid dead code in clock_nanosleep()Sebastian Huber1-5/+2
This issue was reported by Coverity Scan for RTEMS: CID 1507760: Control flow issues (DEADCODE) Closes #4690.