summaryrefslogtreecommitdiffstats
path: root/cpukit (follow)
Commit message (Collapse)AuthorAgeFilesLines
* score: Add CPU_INTERRUPT_STACK_ALIGNMENTSebastian Huber2018-06-2718-0/+45
| | | | | | | Add CPU port define for the interrupt stack alignment. The alignment should take the stack ABI and the cache line size into account. Update #3459.
* console: Add missing return statusSebastian Huber2018-06-271-0/+2
| | | | Update #3320.
* Remove unused CPU_MODES_INTERRUPT_LEVELSebastian Huber2018-06-273-3/+0
|
* score: Macros to declare and define global symbolsSebastian Huber2018-06-211-1/+33
| | | | | | Add RTEMS_DEFINE_GLOBAL_SYMBOL() and add RTEMS_DECLARE_GLOBAL_SYMBOL(). Update #3459.
* stackchk: Add SMP supportSebastian Huber2018-06-202-38/+67
| | | | | | | | | | | | Check the interrupt stacks of all processors. Set up the interrupt stack of the current processor for high water testing in the thread begin extension. This must be done after multi-threading started, since the initialization stacks may reuse the interrupt stacks. Disable thread dispatching in SMP configurations to prevent thread migration. Writing to the interrupt stack is only safe if done from the corresponding processor in thread context. Update #3459.
* stackchk: Refactor Stack_check_Dump_threads_usageSebastian Huber2018-06-201-60/+49
| | | | Update #3459.
* stackchk: Remove dead codeSebastian Huber2018-06-202-26/+2
| | | | Update #3459.
* config: SMP only CONFIGURE_MAXIMUM_PROCESSORSSebastian Huber2018-06-201-1/+3
| | | | | | | Do not set the CONFIGURE_MAXIMUM_PROCESSORS in uni-processor default configuration, since this may lead to an oversize workspace. Update #3459.
* arm: Simplify CPU counter supportSebastian Huber2018-06-151-2/+5
| | | | | | | | | | Use the standard ARMv7-M systick module for the ARMv7-M CPU counter instead of DWT counter since the DWT counter is affected by power saving states. Use an inline function for _CPU_Counter_difference() for all ARM BSPs. Update #3456.
* Add _CPU_Counter_frequency()Sebastian Huber2018-06-1536-7/+103
| | | | | | | | | | Add rtems_counter_frequency() API function. Use it to initialize the counter value converter via the new system initialization step (RTEMS_SYSINIT_CPU_COUNTER). This decouples the counter implementation and the counter converter. It avoids an unnecessary pull in of the 64-bit integer division from libgcc. Update #3456.
* Add RTEMS_SYSINIT_CPU_COUNTERSebastian Huber2018-06-151-1/+2
| | | | | | Add initialization step for the CPU counter support. Update #3456.
* Reassign system initilization order numbersSebastian Huber2018-06-151-39/+39
| | | | | Assign each system initialization step a number divisible by 256 to allow more easily future additions. Keep the order as is.
* powerpc: Fix ss555 buildSebastian Huber2018-06-071-6/+0
| | | | | | | The mpc555 define is provided via <bspopts.h>. It must not be used in cpukit header files. Update #3425.
* Add RTEMS_FATAL_SOURCE_INVALID_HEAP_FREESebastian Huber2018-06-053-7/+10
| | | | | | | | An invalid heap usage such as a double free is usually a fatal error since this indicates a use after free. Replace the use of printk() in free() with a fatal error. Update #3437.
* Update rtems_fatal_source_text()Sebastian Huber2018-06-051-2/+3
| | | | | | Add RTEMS_FATAL_SOURCE_PANIC to rtems_fatal_source_text(). Update #3244.
* score: Simplify _Objects_Name_to_string()Sebastian Huber2018-06-051-2/+12
| | | | | Do not use isprint() from <ctype.h> since it depends on the heavy weight C locale implementation in Newlib.
* rtems: Move _Status_Object_name_errors_to_statusSebastian Huber2018-06-053-50/+67
| | | | | | Move _Status_Object_name_errors_to_status to a separate file to avoid a dependency on errno. Dependencies to errno are hard to be removed by the linker garbage collection.
* config: Hide CONFIGURE_SCHEDULER_COUNTSebastian Huber2018-05-281-5/+5
| | | | | Rename CONFIGURE_SCHEDULER_COUNT to _CONFIGURE_SCHEDULER_COUNT to emphasise that this is not a user configuration option.
* config: Hide CONFIGURE_INITIAL_EXTENSION_TABLESebastian Huber2018-05-281-3/+3
| | | | | | Rename CONFIGURE_INITIAL_EXTENSION_TABLE to _CONFIGURE_INITIAL_EXTENSION_TABLE to emphasise that this is not a user configuration option.
* libblock: Init deps in rtems_blkdev_create()Sebastian Huber2018-05-182-4/+11
| | | | Update #3358.
* dev/sc16is752: Add ioctl calls for modem controll.Christian Mauderer2018-05-142-1/+96
| | | | | | | | This add ths following ioctl calls to the sc16is752 driver: - TIOCMGET - TIOCMSET - TIOCMBIS - TIOCMBIC
* ftpd: Fix infinite recursion in yield()Sebastian Huber2018-05-081-1/+1
| | | | Update #3419.
* telnetd: Use syslog() instead of printk()Sebastian Huber2018-05-021-2/+8
| | | | Update #3419.
* telnetd: Always build telnet daemonSebastian Huber2018-05-024-31/+76
| | | | | | Add support for libbsd initialization. Update #3419.
* ftpd: Always build FTP daemonSebastian Huber2018-05-024-36/+66
| | | | | | Add support for libbsd initialization. Update #3419.
* ftpd: Use floating-point tasks due to syslog()Sebastian Huber2018-05-021-1/+1
| | | | Update #3419.
* ftpd: Fairplay with libbsdSebastian Huber2018-05-021-0/+18
| | | | Update #3419.
* network: Import latest <arpa/ftp.h> from FreeBSDSebastian Huber2018-05-023-7/+10
| | | | Update #3419.
* ftpfs: Always build FTP clientSebastian Huber2018-05-024-2/+8
| | | | | | Move FTP client filesystem to separate library libftpfs.a. Update #3419.
* tftpfs: Always build TFTP clientSebastian Huber2018-05-025-6/+24
| | | | | | | Move TFTP client filesystem to separate library libtftpfs.a. Conditionally use legacy network stack features, e.g. BOOTP support. Update #3419.
* libdebugger: Move to separate librarySebastian Huber2018-05-025-14/+10
| | | | | | | | | | Always build remote TCP support since it depends only on the POSIX socket API. It works with the legacy network stack and libbsd. Move it to a separate libdebugger.a library to allow an easy use with libbsd via "-ldebugger -lbsd" otherwise we would have a cyclic dependency between libbsd.a and librtemscpu.a. Update #3419.
* Drop executable permissions on .[ch] filesJoel Sherrill2018-04-302-0/+0
|
* jffs2: Do not use command line definesSebastian Huber2018-04-3021-2/+40
| | | | Update #3375.
* config: Fix -Wint-in-bool-context warningsSebastian Huber2018-04-301-1/+1
|
* drvmgr: Really fix API mutex usageSebastian Huber2018-04-241-2/+2
|
* drvmgr: Use API mutex usageSebastian Huber2018-04-241-4/+8
| | | | | The driver manager lock may be used before the executing thread is initialized.
* sparc: Move irq_asm.SSebastian Huber2018-04-202-0/+904
| | | | | | | | This file is BSP-independent. This patch is a part of the BSP source reorganization. Update #3285.
* sparc: Move _CPU_Trap_slot_templateSebastian Huber2018-04-201-0/+16
| | | | | | | | | The definition of _CPU_Trap_slot_template is BSP-independent. A potential para-virtualization support may use <rtems/score/paravirt.h>. This patch is a part of the BSP source reorganization. Update #3285.
* drvmgr: Remove bsp_driver_level_hook()Sebastian Huber2018-04-202-15/+0
| | | | | | Use RTEMS_SYSINIT_ITEM() instead. Update #2408.
* Remove register keyword from public header filesSebastian Huber2018-04-1611-52/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The following code void f(void) { register int i; } gives a warning with GCC and -std=c++17 test.cc: In function ‘void f()’: test.cc:3:15: warning: ISO C++1z does not allow ‘register’ storage class specifier [-Wregister] register int i; ^ and clang with -std=c++14 test.cc:3:3: warning: 'register' storage class specifier is deprecated and incompatible with C++1z [-Wdeprecated-register] register int i; ^~~~~~~~~ 1 warning generated. Remove the use of the register keyword at least in the public header files for C++ compatibility. Close #3397.
* libdl: Remove _t from all structures as this is reserved for the standardsChris Johns2018-04-1246-1124/+1123
|
* libdl: RAP format fixes.Chris Johns2018-04-121-8/+10
| | | | | | | | | | - Do not error if a RAP section is not found. - Free a symbol table via the RTL allocator interface. - Add the symbols to the global symbol table. Update #2769
* NFS: Remove support for cexpSebastian Huber2018-04-127-912/+9
| | | | | | Avoid use of RTEMS_RELLDFLAGS. Close #3390.
* build: Add support for automake's silent build support.Chris Johns2018-04-121-9/+9
|
* build: Fix make clean.Chris Johns2018-04-111-1/+2
| | | | Update #3254.
* cpukit/mttpd: Add a callback to generate a per file HTTP etagChris Johns2018-04-112-6/+26
| | | | Close #3323.
* Fill in the correct d_off in rtems_rfs_dir_read.Fan Deng2018-04-111-1/+1
| | | | | | | | | | | | | | | | | | rtems_rfs_dir_read searches the directory inode's entries list starting at the specified offset until an empty entry (last entry) is encountered. It fills in a struct dirent with the name of the entry, length of the name, ino of the entry, and the absolute offset of the entry in the parent directory's entries list. Unfortunately, the stock implementation of rtems_rfs_dir_read returns a somewhat arbitrary offset (as dirent::d_off), while rtems_rfs_dir_lookup_ino always returns the correct offset. This change fixes that logic so the returned offset is accurate. Tested by comparing the offset returned in dirent with the result of rtems_rfs_dir_lookup_ino.
* Fixes bitmap allocation accounting logic in rtems-rfs-bitmaps.cFan Deng2018-04-111-18/+47
| | | | | | | | | | | | | | | | | | | | The bitmap allocation accounting logic in rtems-rfs-bitmaps.c is flawed around control->free. Specifically: In rtems_rfs_bitmap_map_set(): control->free is only decremented when its corresponding search bit is toggled. This is wrong and will miss on average 31/32 set updates. In rtems_rfs_bitmap_map_clear(): control->free is incremented unconditionally. The correct behavior is: When updating the map, check if the bit is already set/clear. Only update control->free when the bit is toggled. This change enforced the correct behavior. Tested by inspecting the internal data structure.
* Reset free count properly in rtems_rfs_bitmap_map_clear_all().Fan Deng2018-04-111-1/+1
| | | | | | | | In rtems_rfs_bitmap_map_clear_all(), control->free is set to 'elements', which is the number of elements in the bitmap. This is incorrect, as control->free should contain the number of free bits, not elements. This change fixes the logic and resets control->free to a correct value.
* Make bit addressing consistent in rtems_rfs_group.cFan Deng2018-04-111-1/+12
| | | | | | | | | | | | | This change fixes https://devel.rtems.org/ticket/3089. Briefly, rtems_rfs_group.c contains conflicting conversions between block numbers and group number and bit offset pairs. This caused the actual bit stored on the bitmask to be one bit displaced from its intended location. For more details, please see the associated ticket. Tested by inspecting the written bitmasks with and without this change.