| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Delete _CPU_Context_switch_to_first_task_smp() and use
_CPU_Context_restore() instead.
|
|
|
|
|
| |
Tested and implemented on ARM, m68k, PowerPC and SPARC. Other
architectures need more work.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The rtems_filesystem_location_info_t::node_access_2 was unused by the
IMFS. Use it to hold the context of generic nodes. This makes it
possible to use node handlers for objects with and without a
corresponding file system node.
For example network sockets created with socket() have only a file
descriptor, but no corresponding file system node. The UNIX(4) domain
sockets can be bound to file system nodes. In both cases the
rtems_filesystem_location_info_t must provide a pointer to the socket
structure used by the socket node handlers. With the context pointer
(for sockets, this is the socket structure) in
rtems_filesystem_location_info_t::node_access_2 the same node handlers
can be used in both cases.
|
| |
|
|
|
|
|
|
| |
Don't use unsafe buffer operations, averting (stack) buffer overflow
when the syslog message length (including Facility and Level encoding)
would exceed 199 characters
|
| |
|
| |
|
|
|
|
|
|
| |
Reproducable crashes occur when using pthreads and the capture engine
at the same time. 'pthread_create()' is the culprit. It creates a SCORE thread
and then calls Thread_Start( ) without disabling thread-dispatching.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1) The value of rtems_bsdnet_ntpserver_count is equal to 0 when no
server is set, so the check for (rtems_bsdnet_ntpserver_count < 0)
in rtems_bsdnet_get_ntp() is wrong. The check should be "<= 0".
2) Binding the listening socket port to 0 does not work. Packets
appear on the interface, but the recvfrom in tryServer() never
returns. Changing this to the well known NTP socket 123 allows
the packets to be seen.
3) In tryServer(), an explicit check for NTP version 3 packets is made.
If the NTP server is version 4, this check fails even though the
packets seem to be the right shape.
|
|
|
|
|
|
| |
Renames rtems_deviceio_errno to rtems_status_code_to_errno and
integrates it into the Classic API Status Handler. This function
can now be called by including status.h
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Print the uptime and difference in nanoseconds to the previous
record in the ctrace output. For example:
0:00:59.474927121 14760 0a01000c TNTD 235 235 CREATED_BY
0:00:59.474927418 297 0a010012 /dev 235 235 CREATED
0:00:59.474930799 3381 0a01000c TNTD 235 235 STARTED_BY
0:00:59.474931105 306 0a010012 /dev 235 235 STARTED
0:00:59.475072297 141192 0a01000c TNTD 235 235 SWITCHED_OUT
|
|
|
|
|
| |
Use the new API to get the uptime in nanoseconds and update the capture
engine.
|
|
|
|
|
|
| |
Add Timestamp support in the score to return a timestamp in nanoseconds.
Add a test.
Update the RTEMS API documentation.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
The readv() and writev() support was implemented in terms of multiple
calls to the read and write handlers. This imposes a problem on device
files which use an IO vector as single request entity. For example a
low-level network device (e.g. BPF(4)) may use an IO vector to create
one frame from multiple protocol layers each with its own IO vector
entry.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
The capture did not work due to changes in the workspace allocator.
The engine now scans all existing tasks when enabled and does any
allocations then.
Fixed a bug in the ctset commandi in the CLI.
Updated the capture engine to use 64bit nanosec timestamps.
Fixed the CLI showing the stack usage.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is for the RFS file system. There is a bug in the
rtems_rfs_bitmap_create_search loop. It is supposed to iterate
over the range of bits in a search element ( usually 32 bits ),
so it should loop through bits 0 through 31. Instead it loops
through 0 - 32, causing some blocks not to be allocated. As in
PR 2163, this depends on the block size and number of blocks in
a file system. Block sizes and group sizes that are powers of 2
seem to work fine ( 512 byte blocks, 4096 block groups, etc ).
When the block sizes are not powers of 2, then this loop error
causes some of the blocks at the end of a group to be skipped,
preventing 100% of the blocks from being used. A simple test
for this and PR2163 is to create a RAM disk with block size
3900 and at least 1 full group ( 31200 blocks ). A file system
with these sizes will not be able to allocate 100% of the blocks.
|
|
|
|
|
|
|
|
|
| |
This is for the RFS file system. The statvfs call reports 1 block free
when the file system is full because it does not account for the superblock
in its calculation of free blocks.
This is a simple fix that adjusts the number of blocks reported to account
for the superblock. We may want to wait for a more complete solution such
as locating the superblock in each group.
|
|
|
|
|
|
|
|
|
| |
This is for the RFS file system. There is a bug in the group search
algorithm where it will skip groups, causing blocks to remain
unallocated. This is dependant on the size of the blocks and number
of blocks in a group, so it does not always show up. The fix corrects
the skipping of groups during the search, allowing all of the blocks
to be found.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Control the help command break with the SHELL_LINES evironment variable
where the numeric value is the number of lines to break on. If the
value is 0 the output is not broken. The default is 16 lines.
Add shell documentation for the help command.
|
| |
|
| |
|
|
|
|
|
| |
Return an error status with errno set to ENOSYS during node creation for
nodes not available in the current configuration.
|
| |
|
|
|
|
| |
Patch from Nick for this. Thanks.
|
|\ |
|
| | |
|
| |
| |
| |
| |
| | |
Split the dub call into dup and dup2 in fcntl.c. This requires
a private command which is placed in the internal libio header.
|
| |
| |
| |
| |
| | |
The read call was only returning once the requested buffer was full.
The change returns any available data.
|
| |
| |
| |
| | |
The FIFO was incorrectly set to the default control block.
|
| |
| |
| |
| |
| | |
This is highly unlikely and would indicate a serious bug
in the system or corruption. But it is better to be cautious.
|
| | |
|
| |
| |
| |
| |
| |
| | |
This error check was commented out because it is not in the POSIX
specification. However, the GNU/Linux manual page does document
that EPERM is to be returned in this situation.
|
| | |
|
| | |
|