summaryrefslogtreecommitdiffstats
path: root/cpukit (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Update company nameSebastian Huber2023-05-20701-705/+705
| | | | | The embedded brains GmbH & Co. KG is the legal successor of embedded brains GmbH.
* rtems: Reference types in construct directivesSebastian Huber2023-05-192-2/+4
|
* rtems: Add constraint to typesSebastian Huber2023-05-191-0/+42
|
* basedefs.h: Improve formattingSebastian Huber2023-05-191-2/+2
|
* basedefs.h: Add proper brief descriptionSebastian Huber2023-05-191-3/+2
|
* rtems: Conditionally include MPCI headerSebastian Huber2023-05-191-1/+1
|
* libmisc/shell: Fix file pointer leak and improved input data sanitation.Aaron Nyholm2023-05-171-17/+10
| | | | | Coverity #1530126 Coverity #1530125
* bsps/aarch64: Fix 128bit q register print bugTian Ye2023-05-161-1/+1
|
* _TOD_Adjust method is unused. Remove it.Joel Sherrill2023-05-162-88/+0
| | | | | | | Use of this method was likely eliminated during the rework to use FreeBSD bintime/sbintime. Close #4905.
* libmisc/shell: Add flashdev commandAaron Nyholm2023-05-162-0/+598
|
* cpukit/flash: Add API for Flash devicesAaron Nyholm2023-05-162-0/+1361
|
* zlib: Update from 1.2.5 to 1.2.13Sebastian Huber2023-05-0927-2779/+13758
| | | | | | | | | | | | 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.
* bsps/amd64: increase CPU alignment to 16Karel Gardas2023-04-291-1/+1
| | | | AMD64 requires SSE support which operates on 128bit data values.
* score: Simplify _Objects_Is_api_valid()Sebastian Huber2023-04-261-3/+1
| | | | Close #4863.
* score: Avoid cyclic header file dependenciesSebastian Huber2023-04-253-60/+115
| | | | | | | | | | | | | 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.
* cpukit/libdl: Resolve size mismatch warningsKinsey Moore2023-04-053-19/+20
| | | | | Resolve warnings about mismatched pointer and integer sizes in AArch64 libdl when building with the ILP32 ABI.
* cpukit/jffs2: Avoid possible null derefKinsey Moore2023-03-231-3/+3
| | | | | This was added with the writebuffer work and should have been protected by the error check.
* doxygen: Add group for FreeBSD kernel header filesSebastian Huber2023-03-179-0/+25
|
* doxygen: Add files to groups and fix group scopesSebastian Huber2023-03-174-4/+12
|
* doxygen: Fix group identifiersSebastian Huber2023-03-172-6/+6
|
* rtems/test.h: Use __attribute__Sebastian Huber2023-03-161-3/+3
|
* score/arm: enhance ARMV7M MPU setup with capability to set control registerKarel Gardas2023-03-161-1/+2
| | | | | | | Due to API change, the patch also fixes affected BSPs and uses value provided by MPU CTRL spec option there. Sponsored-By: Precidata
* doxygen: Document hash algorithm filesSebastian Huber2023-03-161-0/+149
|
* cpuuse: Add implementation Doxygen groupSebastian Huber2023-03-165-4/+30
|
* cpukit/jffs2: Add support for NAND under JFFS2Kinsey Moore2023-03-1518-40/+581
| | | | | | | | | 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.
* cpukit/jffs2: Import wbuf.c from upstreamKinsey Moore2023-03-152-0/+1351
| | | | | This pulls in wbuf.c from the upstream Linux repository at the state specified in VERSION.
* cpukit/jffs2: Initialize and lock mutexesKinsey Moore2023-03-152-0/+4
| | | | | 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.
* sparc: Add header files to Doxygen groupSebastian Huber2023-03-155-8/+23
|
* score: Fix Doxygen group identifierSebastian Huber2023-03-151-1/+1
|
* score: Add file to Doxygen groupSebastian Huber2023-03-151-0/+2
|
* doxygen: Add groups for related test suitesSebastian Huber2023-03-141-0/+24
|
* Provide kernel space items only if neededSebastian Huber2023-03-146-18/+30
| | | | | | | 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.
* pps: Round to closest integer in pps_event()Sebastian Huber2023-03-071-1/+3
| | | | | | | | | | | | | | 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
* pps: Simplify the nsec calculation in pps_event()Sebastian Huber2023-03-072-19/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* pps: Directly assign the timestamps in pps_event()Sebastian Huber2023-03-071-4/+2
| | | | | Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/604
* pps: Move pcount assignment in pps_event()Sebastian Huber2023-03-071-4/+4
| | | | | | | Move the pseq increment. This makes it possible to reuse registers earlier. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/604
* pps: Simplify capture and event processingSebastian Huber2023-03-071-21/+21
| | | | | | | | | | | | | | Use local variables for the captured timehand and timecounter in pps_event(). This fixes a potential issue in the nsec preparation for hardpps(). Here the timecounter was accessed through the captured timehand after the generation was checked. Make a snapshot of the relevent timehand values early in pps_event(). Check the timehand generation only once during the capture and event processing. Use atomic_thread_fence_acq() similar to the other readers. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/604
* pps: Load timecounter once in pps_capture()Sebastian Huber2023-03-071-1/+3
| | | | | | | | This ensures that the timecounter and the tc_get_timecount handler belong together. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/604
* ntptime: ansifyMateusz Guzik2023-03-071-2/+1
| | | | Sponsored by: Rubicon Communications, LLC ("Netgate")
* Clarify hardpps() parameter name and commentSebastian Huber2023-03-071-8/+5
| | | | | | | | | | | | Since 32c203577a5e by phk in 1999 (Make even more of the PPSAPI implementations generic), the "nsec" parameter of hardpps() is a time difference and no longer a time point. Change the name to "delta_nsec" and adjust the comment. Remove comment about a clock tick adjustment which is no longer in the code. Pull Request: https://github.com/freebsd/freebsd-src/pull/640 Reviewed by: imp
* set_cputicker: use a boolMitchell Horne2023-03-071-3/+3
| | | | | | | | | | | The third argument to this function indicates whether the supplied ticker is fixed or variable, i.e. requiring calibration. Give this argument a type and name that better conveys this purpose. Reviewed by: kib, markj MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D35459
* kern_tc.c/cputick2usec()firk2023-03-071-9/+3
| | | | | | | | | | | | | | | | | | (which is used to calculate cputime from cpu ticks) has some imprecision and, worse, huge timestep (about 20 minutes on 4GHz CPU) near 53.4 days of elapsed time. kern_time.c/cputick2timespec() (it is used for clock_gettime() for querying process or thread consumed cpu time) Uses cputick2usec() and then needlessly converting usec to nsec, obviously losing precision even with fixed cputick2usec(). kern_time.c/kern_clock_getres() uses some weird (anyway wrong) formula for getting cputick resolution. PR: 262215 Reviewed by: gnn Differential Revision: https://reviews.freebsd.org/D34558
* doxygen: Add Doxygen files to a groupSebastian Huber2023-02-164-2/+35
| | | | Update #3707.
* libmisc/shell/main_edit.c: User cannot cut using ctrl e and xzack2023-02-151-2/+1
| | | | Closes #4557
* doxygen: Document CONFIGURE_INITSebastian Huber2023-02-141-1/+22
|
* doxygen: Fix header file pathSebastian Huber2023-02-141-2/+3
|
* doxygen: Harmonize header file referencesSebastian Huber2023-02-142-9/+9
|
* doxygen: Use @anchor for appl config optionsSebastian Huber2023-02-1418-368/+678
| | | | | | | | | | | The application configuration options are documented in "cpukit/doxygen/appl-config.h". Since the application configuration option defines are also present in multiple test program sources, the "#OPTION" references cannot be mapped to a unique definition. Add an anchor for each option and reference it to avoid the issues with the multiple definitions. Update #3994.
* doxygen: Generalize appl config constraintsSebastian Huber2023-02-141-525/+576
| | | | | | | | Rename the constaints section of application configuration options from "Value Constraints" in "Constraints. Adjust the constraint wording accordingly. This is in line with the RTEMS Classic API Guide. Update #3994.
* doxygen: Clarify CONFIGURE_DISABLE_BSP_SETTINGSSebastian Huber2023-02-141-219/+31
| | | | | | | | | | Each BSP may optionally provide default values for some application configuration options. Remove the documentation of these items, since the BSP provided defines are not application configuration options, they are optional default values. Clarify CONFIGURE_DISABLE_BSP_SETTINGS accordingly and move it into the "General System Configuration" group. Update #3994.