summaryrefslogtreecommitdiff
path: root/cpukit (follow)
AgeCommit message (Collapse)Author
2023-07-14score/arm: improve printed exception information for Cortex-Mx CPUsKarel Gardas
Sponsored-By: Precidata
2023-07-14bsps/sparc: Remove BSP_POWER_DOWN_AT_FATAL_HALTSebastian Huber
Remove the BSP_POWER_DOWN_AT_FATAL_HALT BSP option. Applications should do the customization of the system termination with an initial fatal extension.
2023-07-03Revert accidentally committed "Remove unused _IO_Relax"Joel Sherrill
Sebastian has agreed to move this out of score. I should have removed this patch from my tree but accidentally committed it with another patch.
2023-07-03Remove unused _IO_RelaxJoel Sherrill
The only use was in a test.
2023-06-27cpukit/flash: Correct erase ioctl addressAaron Nyholm
Previously, the erase ioctl call would ignore flash regions and erase at the absolute address passed in. This adds a check for if the region is set and adds the region offset accordingly.
2023-06-16pci: Do not use BSP-specific interrupt APISebastian Huber
Update #3269.
2023-06-12score: Remove CPU port atomic operations APISebastian Huber
Use the C/C++ standard API directly.
2023-06-12score: Remove CPU port specific cpuatomic.hSebastian Huber
All CPU ports used the same <rtems/score/cpustdatomic.h> header file to provide the atomic operations. Remove the header file indirection.
2023-06-06Move various compression libraries into single subdirectoryJoel Sherrill
This improves the organization of the cpukit. Closes #4912.
2023-05-31termios: Add <rtems/termiosdevice.h>Sebastian Huber
Add <rtems/termiosdevice.h> which does not depend on <rtems/libio.h> to provide rtems_termios_device_context and rtems_termios_device_handler. For polled serial device drivers, this removes a header file dependency to the full file system support.
2023-05-26score/src/pheap*: Remove unreferenced methodsJoel Sherrill
* _Protected_heap_Get_block_size * _Protected_heap_Iterate * _Protected_heap_Resize_block Closes #4909.
2023-05-26arm: Use RTEMS_XCONCAT()Sebastian Huber
Prefer macros with a proper namespace.
2023-05-26arm: Improve Doxygen file commentsSebastian Huber
2023-05-24rtems: Document scheduler configuration APISebastian Huber
2023-05-22libdl: Add support for LDST128_ABS_LO12_NCKinsey Moore
2023-05-20Update company nameSebastian Huber
The embedded brains GmbH & Co. KG is the legal successor of embedded brains GmbH.
2023-05-19rtems: Reference types in construct directivesSebastian Huber
2023-05-19rtems: Add constraint to typesSebastian Huber
2023-05-19basedefs.h: Improve formattingSebastian Huber
2023-05-19basedefs.h: Add proper brief descriptionSebastian Huber
2023-05-19rtems: Conditionally include MPCI headerSebastian Huber
2023-05-17libmisc/shell: Fix file pointer leak and improved input data sanitation.Aaron Nyholm
Coverity #1530126 Coverity #1530125
2023-05-16bsps/aarch64: Fix 128bit q register print bugTian Ye
2023-05-16_TOD_Adjust method is unused. Remove it.Joel Sherrill
Use of this method was likely eliminated during the rework to use FreeBSD bintime/sbintime. Close #4905.
2023-05-16libmisc/shell: Add flashdev commandAaron Nyholm
2023-05-16cpukit/flash: Add API for Flash devicesAaron Nyholm
2023-05-09zlib: Update from 1.2.5 to 1.2.13Sebastian Huber
The updated files were extracted from: https://www.zlib.net/zlib-1.2.13.tar.xz The archive had an SHA-256 hash value of: d14c38e313afc35a9a8760dadf26042f51ea0f5d154b0630a31da0540107fb98 Close #4902.
2023-04-29bsps/amd64: increase CPU alignment to 16Karel Gardas
AMD64 requires SSE support which operates on 128bit data values.
2023-04-26score: Simplify _Objects_Is_api_valid()Sebastian Huber
Close #4863.
2023-04-25score: Avoid cyclic header file dependenciesSebastian Huber
There was a cyclic dependency: For RTEMS_STATIC_ANALYSIS we needed basedefs.h in assert.h. For RTEMS_UNREACHABLE() we needed _Assert() from assert.h in basedefs.h. Fix this by introducing _Debug_Unreachable() in basedefs.h. Add RTEMS_FUNCTION_NAME to basedefs.h and use it in basedefs.h and assert.h. Close #4900.
2023-04-05cpukit/libdl: Resolve size mismatch warningsKinsey Moore
Resolve warnings about mismatched pointer and integer sizes in AArch64 libdl when building with the ILP32 ABI.
2023-03-23cpukit/jffs2: Avoid possible null derefKinsey Moore
This was added with the writebuffer work and should have been protected by the error check.
2023-03-17doxygen: Add group for FreeBSD kernel header filesSebastian Huber
2023-03-17doxygen: Add files to groups and fix group scopesSebastian Huber
2023-03-17doxygen: Fix group identifiersSebastian Huber
2023-03-16rtems/test.h: Use __attribute__Sebastian Huber
2023-03-16score/arm: enhance ARMV7M MPU setup with capability to set control registerKarel Gardas
Due to API change, the patch also fixes affected BSPs and uses value provided by MPU CTRL spec option there. Sponsored-By: Precidata
2023-03-16doxygen: Document hash algorithm filesSebastian Huber
2023-03-16cpuuse: Add implementation Doxygen groupSebastian Huber
2023-03-15cpukit/jffs2: Add support for NAND under JFFS2Kinsey Moore
This adds write buffer and bad block support required for JFFS2 operation on NAND devices. This also adds the minor modifications necessary for RTEMS support in the Linux header stubs and in wbuf.c. Memory and NOR backed applications should experience no difference in operation since they do not expose the callbacks required for write buffer support.
2023-03-15cpukit/jffs2: Import wbuf.c from upstreamKinsey Moore
This pulls in wbuf.c from the upstream Linux repository at the state specified in VERSION.
2023-03-15cpukit/jffs2: Initialize and lock mutexesKinsey Moore
Mutexes must be locked before they can be unlocked. JFFS2 doesn't currently see this as an issue because all mutex operations are no-ops.
2023-03-15sparc: Add header files to Doxygen groupSebastian Huber
2023-03-15score: Fix Doxygen group identifierSebastian Huber
2023-03-15score: Add file to Doxygen groupSebastian Huber
2023-03-14doxygen: Add groups for related test suitesSebastian Huber
2023-03-14Provide kernel space items only if neededSebastian Huber
The kernel space parts of standard system header files were protected against misuse by a preprocessor error directive. This approach does not work well with tools such as Doxygen. Provide the kernel space items only if the required defines are present.
2023-03-07pps: Round to closest integer in pps_event()Sebastian Huber
The comment above bintime2timespec() says: When converting between timestamps on parallel timescales of differing resolutions it is historical and scientific practice to round down. However, the delta_nsec value is a time difference and not a timestamp. Also the rounding errors accumulate in the frequency accumulator, see hardpps(). So, rounding to the closest integer is probably slightly better. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/604
2023-03-07pps: Simplify the nsec calculation in pps_event()Sebastian Huber
Let A be the current calculation of the frequency accumulator (pps_fcount) update in pps_event() scale = (uint64_t)1 << 63; scale /= captc->tc_frequency; scale *= 2; bt.sec = 0; bt.frac = 0; bintime_addx(&bt, scale * tcount); bintime2timespec(&bt, &ts); hardpps(tsp, ts.tv_nsec + 1000000000 * ts.tv_sec); and hardpps(..., delta_nsec): u_nsec = delta_nsec; if (u_nsec > (NANOSECOND >> 1)) u_nsec -= NANOSECOND; else if (u_nsec < -(NANOSECOND >> 1)) u_nsec += NANOSECOND; pps_fcount += u_nsec; This change introduces a new calculation which is slightly simpler and more straight forward. Name it B. Consider the following sample values with a tcount of 2000000100 and a tc_frequency of 2000000000 (2GHz). For A, the scale is 9223372036. Then scale * tcount is 18446744994337203600 which is larger than UINT64_MAX (= 18446744073709551615). The result is 920627651984 == 18446744994337203600 % UINT64_MAX. Since all operands are unsigned the result is well defined through modulo arithmetic. The result of bintime2timespec(&bt, &ts) is 49. This is equal to the correct result 1000000049 % NANOSECOND. In hardpps(), both conditional statements are not executed and pps_fcount is incremented by 49. For the new calculation B, we have 1000000000 * tcount is 2000000100000000000 which is less than UINT64_MAX. This yields after the division with tc_frequency the correct result of 1000000050 for delta_nsec. In hardpps(), the first conditional statement is executed and pps_fcount is incremented by 50. This shows that both methods yield roughly the same results. However, method B is easier to understand and requires fewer conditional statements. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/604
2023-03-07pps: Directly assign the timestamps in pps_event()Sebastian Huber
Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/604