summaryrefslogtreecommitdiff
path: root/cpukit/include (follow)
AgeCommit message (Collapse)Author
2020-05-07termios: Replace rtems_termios_isig_status_codeSebastian Huber
Merge the rtems_termios_isig_status_code and rtems_termios_iproc_status_code enums into a single rtems_termios_iproc_status_code which is now a part of the API. Simplify rtems_termios_posix_isig_handler() to avoid unreachable code. Close #3800.
2020-05-06rtems: Deprecate _Copyright_NoticeSebastian Huber
Close #3973.
2020-05-06rtems: Add rtems_get_copyright_notice()Sebastian Huber
Update #3973.
2020-05-06rtems: Deprecate <rtems/system.h>Sebastian Huber
Close #3972.
2020-05-06rtems: Deprecate RTEMS_MAXIMUM_NAME_LENGTHSebastian Huber
This define is * not documented, * not used in the RTEMS code base, and * longer than sizeof(rtems_name). Close #3971.
2020-05-06rtems: Deprecate use of _RTEMS_versionSebastian Huber
Close #3970.
2020-05-05libdl/obj-comp: Add trace prints when decompressingChris Johns
Updates #3969
2020-04-28doxygen: Switch @brief and @ingroupSebastian Huber
This order change fixes the Latex documentation build via Doxygen.
2020-04-15libmisc/shell: Fix the handling of joel scripts in telnetChris Johns
- Fix the passing of std[in/out] to child threads - Fix deleting of managed memory in the key destructor - Only set the key in the main loop thread - Only allocate a shell env outside of the main loop - Fix memory leak if the task start fails - Remove error level from shell env, it cannot be returned this way. Add exit_code but the API is broken so it cannot be returned. Closes #3859
2020-04-14config: Fix typoSebastian Huber
Update #3875.
2020-04-14score: Return status in _TOD_Set()Sebastian Huber
Update #3949.
2020-04-08score: Delete RTEMS_DECLARE_GLOBAL_SYMBOL()Sebastian Huber
Delete unused RTEMS_DECLARE_GLOBAL_SYMBOL(). Update #3799.
2020-04-08config: Fix _ISR_Stack_area_endSebastian Huber
In the previous implementation, the _ISR_Stack_area_begin and _ISR_Stack_area_end symbols were in different sections. If they do not have the same alignment, then the following linker directive could separate them: *(SORT_BY_ALIGNMENT (SORT_BY_NAME (.rtemsstack*))) Do not use different sections and instead define _ISR_Stack_area_end directly. Update #3799.
2020-04-08score: Add and use RTEMS_SYMBOL_NAME()Sebastian Huber
Update #3799.
2020-04-05Revert "score: Fix _ISR_Stack_area_end"Sebastian Huber
This reverts commit 8e80876bdd54e36fb668eee655eec1dd588daf13 which broke several architectures.
2020-04-03cpukit/rfs: fix typo in header guardGedare Bloom
2020-04-03score: Fix _ISR_Stack_area_endSebastian Huber
The _ISR_Stack_area_begin and _ISR_Stack_area_end symbols are in different sections. They must have the same alignment, otherwise the following linker directive could separate them: *(SORT_BY_ALIGNMENT (SORT_BY_NAME (.rtemsstack*))) Update #3799.
2020-04-03config: Remove filesystem entry config optionsSebastian Huber
Remove the following undocumented configuration options: * CONFIGURE_FILESYSTEM_ENTRY_DOSFS * CONFIGURE_FILESYSTEM_ENTRY_FTPFS * CONFIGURE_FILESYSTEM_ENTRY_IMFS * CONFIGURE_FILESYSTEM_ENTRY_JFFS2 * CONFIGURE_FILESYSTEM_ENTRY_NFS * CONFIGURE_FILESYSTEM_ENTRY_RFS * CONFIGURE_FILESYSTEM_ENTRY_TFTPFS Update #3836.
2020-04-02libio: Remove RTEMS_FILESYSTEM_TYPE_MINIIMFSSebastian Huber
This type is unused. Do not mention non-existing CONFIGURE_FILESYSTEM_MINIIMFS.
2020-04-02rtems: Fix Doxygen commentSebastian Huber
2020-03-31config: Remove CONFIGURE_FILESYSTEM_DEVFSSebastian Huber
This filesystem no longer exists. Remove unused RTEMS_FILESYSTEM_TYPE_DEVFS. Update #3894.
2020-03-31ftpd: Remove superfluous definesSebastian Huber
These defines are not used and easily conflict with application code. They are also defined by the standard header file <arpa/ftp.h> if someone needs them.
2020-03-31ftpd: Fix return typesSebastian Huber
2020-03-31config: Remove BSP_DEFAULT_UNIFIED_WORK_AREASSebastian Huber
Do not undefine this unused BSP configuration option. This is a follow up of commit 92b33b8d09377feb14eb5a831ce242047c58d02b.
2020-03-23score: Document _TLS_AlignmentSebastian Huber
2020-03-23score: Fix size of TLS_Thread_control_blockSebastian Huber
On most architectures, the size of the thread-local storage TCB must be 8 bytes. Fix the definition for 64-bit targets.
2020-03-23conf: Improve evaluation of event recording optsSebastian Huber
Check for configuration errors earlier. Allow fatal dumps without the other extensions. Add some warnings. Update #3904.
2020-03-18record: Add rtems_record_dump()Sebastian Huber
Add rtems_record_dump_base64() and rtems_record_dump_base64_zlib(). Add CONFIGURE_RECORD_FATAL_DUMP_BASE64 and CONFIGURE_RECORD_FATAL_DUMP_BASE64_ZLIB configuration options. Update #3904.
2020-03-16rtems: Add rtems_put_char()Sebastian Huber
Update #3904.
2020-03-16score: Add _IO_Base64()Sebastian Huber
Update #3904.
2020-03-13libio: Robust file descriptor reference countingSebastian Huber
There was a race conditon in the reference counting of file descriptors during a close() operation. After the call to the close handler, the rtems_libio_free() function cleared the flags to zero. However, at this point in time there may still exist some holders of the file descriptor. With RTEMS_DEBUG enabled this could lead to failed assertions in rtems_libio_iop_drop(). Change the code to use only atomic read-modify-write operations on the rtems_libio_iop::flags.
2020-03-09imfs: Replace devfs with an IMFS specializationSebastian Huber
Add a simplified path evaluation function IMFS_eval_path_devfs() for a device only IMFS configuration. The code size can be further reduced by the application if it disables the support for legacy IO drivers via: #define CONFIGURE_IMFS_DISABLE_MKNOD #define CONFIGURE_IMFS_DISABLE_MKNOD_DEVICE Obsolete CONFIGURE_MAXIMUM_DEVICES. Remove BSP_MAXIMUM_DEVICES. Update #3894. Update #3898.
2020-03-09imfs: Constify imfs_memfile_bytes_per_blockSebastian Huber
The CONFIGURE_IMFS_MEMFILE_BYTES_PER_BLOCK value is validated by <rtems/confdefs/libio.h>. Changing this value during runtime could lead to memory corruption. Update #3894.
2020-03-09libio: Constify some functionsSebastian Huber
2020-03-04imfs: Add IMFS_add_node()Sebastian Huber
Update #3894.
2020-03-04imfs: Remove IMFS_NODE_FLAG_NAME_ALLOCATEDSebastian Huber
Remove IMFS_NODE_FLAG_NAME_ALLOCATED and instead replace the node control in rename operations. This avoids a special case in the general node destruction which pulled in free(). Update #3894.
2020-03-04rtems: rtems_scheduler_get_processor_maximum()Sebastian Huber
In uniprocessor configurations, use compile-time constants for rtems_scheduler_get_processor_maximum() and rtems_scheduler_get_processor(). This helps compilers and static analyzers to deduce that some loop bodies are only executed once and some conditional statements have a fixed outcome (may improve code generation and reduce false positives). In SMP configurations, directly provide the internal implementation for performance reasons.
2020-03-04config: Remove <rtems/btimer.h> includeSebastian Huber
The use of CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER does not define anything, so remove the <rtems/btimer.h> include. Update #3875.
2020-03-03rtems: Add rtems_scheduler_map_priority_from_posix()Sebastian Huber
Update #3881.
2020-03-03rtems: Add rtems_scheduler_map_priority_to_posix()Sebastian Huber
Update #3881.
2020-03-02libfdt: De-inline fdt_header_size()Simon Glass
There does not seem to be a strong reason to inline this function. Also we are about to add some extra code to it which will increase its size. Move it into fdt.c and use a simple declaration in libfdt.h Signed-off-by: Simon Glass <sjg@chromium.org> Message-Id: <20200220214557.176528-2-sjg@chromium.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2020-03-02libfdt.h: add explicit cast from void* to uint8_t* in fdt(32|64)_stLuc Michel
Including libfdt.h in a C++ project fails during compilation with recent version of GCC or Clang. This simple example: extern "C" { #include <libfdt.h> } int main(void) { return 0; } leads to the following errors with GCC 9.1.0: /usr/include/libfdt.h: In function ‘void fdt32_st(void*, uint32_t)’: /usr/include/libfdt.h:139:16: error: invalid conversion from ‘void*’ to ‘uint8_t*’ {aka ‘unsigned char*’} [-fpermissive] 139 | uint8_t *bp = property; | ^~~~~~~~ | | | void* /usr/include/libfdt.h: In function ‘void fdt64_st(void*, uint64_t)’: /usr/include/libfdt.h:163:16: error: invalid conversion from ‘void*’ to ‘uint8_t*’ {aka ‘unsigned char*’} [-fpermissive] 163 | uint8_t *bp = property; | ^~~~~~~~ | | | void* This commit adds an explicit cast to uint8_t* to fix this issue. Signed-off-by: Luc Michel <luc.michel@greensocs.com> Message-Id: <20190910104824.1321594-1-luc.michel@greensocs.com> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2020-03-02libfdt: Replace GPL/BSD boilerplate/reference with SPDX tagsRob Herring
Replace instances of dual GPLv2 or BSD license boilerplate with SPDX tags. Signed-off-by: Rob Herring <robh@kernel.org> Message-Id: <20190620211944.9378-3-robh@kernel.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2020-03-02libfdt: Add FDT_CREATE_FLAG_NO_NAME_DEDUP flag that trades size for speedNicholas Piggin
Searching for duplicate names scales O(n^2) with the number of names added to a fdt, which can cause a noticable slowdown with larger device trees and very slow CPU cores. Add FDT_CREATE_FLAG_NO_NAME_DEDUP that allow the caller to trade fdt size for speed in the creation process. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Message-Id: <20190509094122.834-4-npiggin@gmail.com> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2020-03-02libfdt: Introduce fdt_create_with_flags()Nicholas Piggin
There is a need to be able to specify some options when building an FDT with the SW interface. This can be accomplished with minimal changes by storing intermediate data in the fdt header itself, in fields that are not otherwise needed during the creation process and can be set by fdt_finish(). The fdt.magic field is already used exactly this way, as a state to check with callers that the FDT has been created but not yet finished. fdt.version and fdt.last_comp_version are used to make room for more intermediate state. These are adjacent and unused during the building process. last_comp_version is not yet used for intermediate state, but it is zeroed and treated as used, so as to allow future growth easily. A new interface, fdt_create_with_flags() is added, which takes 32-bit flag value to control creation. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Message-Id: <20190509094122.834-3-npiggin@gmail.com> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2020-03-02libfdt: Make fdt_get_max_phandle() an inlineDavid Gibson
It's now a trivial wrapper around fdt_find_max_phandle() so we might as well inline it. We also remove it from the versioning linker script. Theoretically, that's a breaking ABI change except that we haven't yet released a version with it exposed in the shared object, so we can get away with it. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2020-03-02libfdt: Add phandle generation helperThierry Reding
The new fdt_generate_phandle() function can be used to generate a new, unused phandle given a specific device tree blob. The implementation is somewhat naive in that it simply walks the entire device tree to find the highest phandle value and then returns a phandle value one higher than that. A more clever implementation might try to find holes in the current set of phandle values and fill them. But this implementation is relatively simple and works reliably. Also add a test that validates that phandles generated by this new API are indeed unique. Signed-off-by: Thierry Reding <treding@nvidia.com> Message-Id: <20190326153302.17109-3-thierry.reding@gmail.com> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2020-03-02libfdt: Add new maximum phandle lookup functionThierry Reding
The fdt_get_max_phandle() function has some shortcomings. On one hand it returns just a uint32_t which means to check for the "negative" error code a caller has to explicitly check against the error code (uint32_t)-1. In addition, the -1 is the only error code that can be returned, so a caller cannot tell the difference between the various failures. Fix this by adding a new fdt_find_max_phandle() function that returns an error code on failure and 0 on success, just like other APIs, and stores the maximum phandle value in an output argument on success. This also refactors fdt_get_max_phandle() to use the new function. Add a note pointing out that the new fdt_find_max_phandle() function should be preferred over fdt_get_max_phandle(). Signed-off-by: Thierry Reding <treding@nvidia.com> Message-Id: <20190326153302.17109-1-thierry.reding@gmail.com> [dwg: Reword for some inaccuracies in the commit message] Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2020-03-02libfdt: add fdt_append_addrrange()AKASHI Takahiro
This function will append an address range property using parent node's "#address-cells" and "#size-cells" properties. It will be used in implementing kdump with kexec_file_load system call at linux kernel for arm64 once it is merged into kernel tree. Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org> Message-Id: <20190327061552.17170-2-takahiro.akashi@linaro.org> [dwg: Correct a SEGV error in the testcase] Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2020-03-02Revert "libfdt: Add phandle generation helper"David Gibson
This reverts commit 54ea41c22415cb0e283d22faf71202051c89400c. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>