Commit Graph
8711 Commits
Author SHA1 Message Date
Sebastian Huber b657ea4d33 nfsclient: Avoid __FILE__ and __LINE__
The __FILE__ prevents reproducible builds.
2014-12-05 13:05:34 +01:00
Sebastian Huber 1207288022 Update bug report URL 2014-12-05 07:47:32 +01:00
Sebastian Huber e870941bb0 libmisc: More useful default configuration
The dummy.c was a de-facto default configuration.  Rename it to
default-configuration.c.  Use unlimited objects and the stack checker.
This makes it easier for new RTEMS users which will likely use this file
if they just work with the usual main() function as the application
entry point.  Provide proper arguments for main() using the BSP command
line.  Add spare user extensions and drivers.

Do not initialize the network by default.  Delete bspinit.c.
2014-12-05 07:47:06 +01:00
Jan Dolezal 4251b88736 doxygen: expand specified compiler macros to empty string, so they are ignored by doxygen 2014-12-04 13:37:51 -05:00
Jan Dolezal 038e1dba31 i386: doxygen and comments related to VESA real mode framebuffer 2014-12-04 13:37:50 -05:00
Daniel Hellstrom dff1803cfb SPARC: optimize IRQ enable & disable
* Coding style cleanups.
* Use OS reserved trap 0x89 for IRQ Disable
* Use OS reserved trap 0x8A for IRQ Enable
* Add to SPARC CPU supplement documentation

This will result in faster Disable/Enable code since the
system trap handler does not need to decode which function
the user wants. Besides the IRQ disable/enabled can now
be inline which avoids the caller to take into account that
o0-o7+g1-g4 registers are destroyed by trap handler.

It was also possible to reduce the interrupt trap handler by
five instructions due to this.
2014-12-04 12:51:11 +01:00
Sebastian Huber 8905201985 monitor: Replace puts() with proper fprintf() 2014-12-03 13:03:13 +01:00
Daniel Cederman e4d8513707 nfs: Add RPCd task affinity config option
Similar to the task priority option, the new CPU affinity
option is first controlled by the RPCI specific rpciodCpuset
option. If that is not set, it uses the global network task config.
If that is also not set, it falls back to not setting the affinity
at all, using all CPUs.
2014-12-02 13:41:20 +01:00
Daniel Cederman 69e3f272d9 net: Add network task affinity config
This patch adds a default network tasks CPU affinity configuration
option. The network drivers have the option to create their own
daemon tasks with a custom CPU affinity set, or rely on the
default set.
2014-12-02 13:41:15 +01:00
Chris Johns e37e8504f1 libmisc/shell: Edit history hack is corrupting memory. Remove it.
The hack was a debug aid and is not needed.

Close #2203.
2014-12-01 14:53:55 +11:00
Sebastian Huber d006b46df3 score: Add heap statistics
Add lifetime bytes allocated and freed since they were present in the
malloc statistics.  Add number of failed allocations.
2014-11-28 13:09:11 +01:00
Sebastian Huber 2c3c657625 score: Return heap stats via _Heap_Get_information
Print out heap statistics via the MALLOC and WKSPACE shell commands.
2014-11-28 13:09:07 +01:00
Sebastian Huber 01557b0c6e libcsupport: Delete malloc statistics
Use the heap handler statistics instead.  Add heap walk option to MALLOC
shell command.

close #1367
2014-11-28 11:23:53 +01:00
Sebastian Huber 3b4ca3ab0f bdbuf: Fix race condition with sync active flag
Bug report by Oleg Kravtsov:

In rtems_bdbuf_swapout_processing() function there is the following
lines:

if (bdbuf_cache.sync_active && !transfered_buffers)
{

    rtems_id sync_requester;
    rtems_bdbuf_lock_cache ();
    ...

}

Here access to bdbuf_cache.sync_active is not protected with anything.
Imagine the following test case:

1. Task1 releases buffer(s) with bdbuf_release_modified() calls;

2. After a while swapout task starts and flushes all buffers;

3. In the end of that swapout flush we are before that part of code, and
assume there is task switching (just before "if (bdbuf_cache.sync_active
&& !transfered_buffers)");

4. Some other task (with higher priority) does bdbuf_release_modified
and rtems_bdbuf_syncdev().

This task successfully gets both locks sync and pool (in
rtems_bdbuf_syncdev() function), sets sync_active to true and starts
waiting for RTEMS_BDBUF_TRANSFER_SYNC event with only sync lock got.

5. Task switching happens again and we are again before "if
(bdbuf_cache.sync_active && !transfered_buffers)".

As the result we check sync_active and we come inside that "if"
statement.

6. The result is that we send RTEMS_BDBUF_TRANSFER_SYNC event! Though
ALL modified messages of that task are not flushed yet!

close #1485
2014-11-28 10:56:46 +01:00
Joel Sherrill e22af784cd sync.c: Add asserts to document and check assumptions 2014-11-27 10:06:23 -06:00
Joel Sherrill 8dbbea6bcc msdos_file.c: Reverse return codes per Gedare 2014-11-27 09:29:16 -06:00
Sebastian Huber 43b09a9865 shell: Make mv, cp and rm usable for applications
close #2030
2014-11-27 13:37:52 +01:00
Sebastian Huber 5bd822a779 smp: Fix scheduler helping protocol
Ensure that scheduler nodes in the SCHEDULER_HELP_ACTIVE_OWNER or
SCHEDULER_HELP_ACTIVE_RIVAL helping state are always
SCHEDULER_SMP_NODE_READY or SCHEDULER_SMP_NODE_SCHEDULED to ensure the
MrsP protocol properties.
2014-11-27 10:33:31 +01:00
Sebastian Huber 79569ae655 smp: Fix scheduler helping protocol assertions 2014-11-27 10:33:31 +01:00
Sebastian Huber 038faca160 rtems: Add rtems_cache_coherent_allocate()
Add rtems_cache_coherent_free() and rtems_cache_coherent_add_area().
2014-11-27 10:33:30 +01:00
Josh Oguin d4ec0a2d75 monitor/mon-prmisc.c: Use puts() not fprintf()
CodeSonar flagged this as a case where the user could inject a format
string and cause issues. Since we were not printing anything but a
string, just switching to puts() rather than fprintf(stdout,...) was
sufficient to make this code safer.
2014-11-26 07:52:00 -06:00
Josh Oguin 8b9bc54b5a objectgetnameasstring.c: Reformat _Objects_Get() switch to follow pattern 2014-11-26 07:52:00 -06:00
Josh Oguin c562d0c9b0 objectimpl.h: Add _Assert() to _Objects_Invalidate_Id()
CodeSonar flagged this as a possible NULL deference. This should never
occur but adding the _Assert() ensures we are guarding against that.
2014-11-26 07:51:59 -06:00
Josh Oguin fbafb8f249 chainimpl.h: Add _Assert() to _Chain_Initialize_empty()
CodeSonar flagged this as a potential NULL deference. That should never
occur but adding the _Assert() ensures we are checking that.
2014-11-26 07:51:59 -06:00
Josh Oguin e106aa7380 cpukit/posix/src/timertsr.c: Add _Assert()
CodeSonar flagged this as an empty if body. Upon analysis, it turned
out to be an error that we think should never occur but if it did,
there is nothing we could do about it. It would likely just indicate
the thread was deleted before we got here. Adding the _Assert() at least
will flag this if it ever occurs during a debug build and we can discuss
what happened.
2014-11-26 07:51:59 -06:00
Josh Oguin 90a8e42be4 monitor/mon-editor.c: Use puts() and snprintf() not fprintf() or sprintf()
CodeSonar flagged this as a case where the user could inject a format
string and cause issues. Since we were not printing anything but a
string, just switching to puts() rather than fprintf(stdout,...) was
sufficient to make this code safer.

snprintf() places a limit on the length of the output from sprintf()
and avoids similar buffer overrun issues.
2014-11-26 07:51:59 -06:00
Josh Oguin 4862532fd9 imfs/imfs_handlers_link.c: Add _Assert for NULL pointer
CodeSonar flagged this as a possible dereference of a NULL pointer.
This should never occur so adding _Assert().
2014-11-26 07:51:59 -06:00
Josh Oguin 43d6a28fd1 dosfs/msdos_misc.c: Remove unnecessary operation
CodeSonar flagged the increment of this pointer as unneeded. The pointer
is not used past this point.
2014-11-26 07:51:58 -06:00
Josh Oguin 21c0ca8426 dosfs/msdos_file.c: Return an error if it occurs
CodeSonar flagged this as a case where the return value from fat_sync()
was not used. Now it is used to return pass/fail to the caller.
2014-11-26 07:51:58 -06:00
Josh Oguin 10f28a3af1 dosfs/msdos_conv.c: Remove unnecessary operations
These were flagged by CodeSonar. The assignments on variable declaration
are overridden a few lines below and the other line later with name_size
is where name_size was not used after this assignment.
2014-11-26 07:51:58 -06:00
Josh Oguin 72f63eeff0 libcsupport/src/newlibc_exit.c: Remove dead code
This was flagged as an empty for statement by CodeSonar but is actually
unreachable code that should be removed.
2014-11-26 07:51:58 -06:00
Josh Oguin f18fd4f2bc libcsupport/src/mount.c: Remove unnecessary operation
This was flagged by CodeSonar.
2014-11-26 07:51:57 -06:00
Josh Oguin ba3b6fdc89 apimutex.c: Add _Assert for NULL pointer access
CodeSonar detects a possible NULL deference here. But it should never
occur in tested code. Memory for the API Mutexes is reserved by confdefs.h
and are all preallocated when the class of objects is initialized.
Allocating a single instance should never fail.
2014-11-26 07:51:56 -06:00
Sebastian Huber fdd1e20579 shell: Include missing header 2014-11-26 09:58:40 +01:00
Sebastian Huber 90b0e28456 i2c: Do not close file descriptor 0 if open fails 2014-11-26 09:56:01 +01:00
Sebastian Huber d6f0ca64a5 i2c: Avoid undefined right shift operation 2014-11-26 08:26:15 +01:00
Joel Sherrill 505b680642 rtems-rfs-rtems.c: Add cast to address warning 2014-11-25 12:58:01 -06:00
Joel Sherrill ebb39a216d hexdump-conv.c: Use proper printf() formatting for wchar_t 2014-11-25 12:58:00 -06:00
Joel Sherrill 3bd0cd1ad5 main_edit.c: Do not reference beyond end of array 2014-11-25 12:58:00 -06:00
Joel Sherrill d15202490c shell/main_edit.c: Note return value not checked
Coverity Id 1255320 spotted an unchecked return value.
2014-11-25 12:57:09 -06:00
Joel Sherrill 3211e8e9c0 cpukit/libcsupport/src/pwdgrp.c: Check return value
Coverity Id 1255518. mkdir() could fail. Check return value and return
on failure. Behavior is similar to if open() failed while writing the
files.
2014-11-25 12:57:09 -06:00
Joel Sherrill 630642e21c shell/main_blksync.c: Fix leak of file descriptor
Coverity Id 1063887. File descriptor not freed on error path.
2014-11-25 12:57:09 -06:00
Joel Sherrill 4afa216ba8 cpukit/libmisc/shell/main_edit.c: Fix use after free()
Coverity Id 1255353. Read from pointer after free().
2014-11-25 12:57:08 -06:00
Joel Sherrill a0bf44e115 cpukit/dev/i2c/i2c-dev.c: Fix leak on error path
Coverity ID 1255520. fd was not closed on error path.
2014-11-25 12:57:08 -06:00
Jennifer Averett 0a0ded702a capture: Resolve failure path memory leak. 2014-11-25 12:50:17 -06:00
Sebastian Huber e681762704 bdbuf: Use rtems_cache_aligned_malloc() 2014-11-25 16:12:59 +01:00
Sebastian Huber 7e5c9b895e rtems: Move rtems_cache_aligned_malloc()
Make sure also the size is cache aligned since otherwise we may have
some overlap with the next allocation block.  A cache invalidate on this
area would be fatal.
2014-11-25 16:08:16 +01:00
Sebastian Huber 0273349594 libcsupport: malloc_is_system_state_OK()
Move system state check to malloc_is_system_state_OK().
2014-11-25 16:08:16 +01:00
Sebastian Huber 46689a1ee1 arm: Use CPU_TIMESTAMP_USE_STRUCT_TIMESPEC
Converting 64-bit nanoseconds values into the common struct timeval or
struct timespec formats requires a 64-bit division to get the seconds
value.  Performance analysis of high network loads revealed that this is
too costly on ARM.
2014-11-25 16:08:16 +01:00
Jennifer Averett c577500023 capture: Remove whitespace and fix copyrights. 2014-11-24 14:04:54 -06:00