| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Include <bsp/default-initial-extension.h> in all BSPs. Call
rtems_fatal() with RTEMS_FATAL_SOURCE_EXIT as source and the exit()
status code as fatal code in every bsp_cleanup(). Move previous
bsp_cleanup() code into bsp_fatal_extension().
|
| |
|
|
|
|
|
|
| |
Add rtems_bdbuf_fatal_code as a replacement for the previous fatal error
codes. Remove unused error codes. Add new error codes. Use
rtems_fatal() with RTEMS_FATAL_SOURCE_BDBUF as source.
|
|
|
|
|
| |
This enum value ensures that the enum type needs at least 32-bits for
architectures with short enums.
|
| |
|
|
|
|
|
| |
Use INTERNAL_ERROR_CPU_ISR_INSTALL_VECTOR on PowerPC for
_CPU_ISR_install_vector().
|
| |
|
| |
|
|
|
|
|
| |
Add Internal_errors_Information::nest_level. This helps to detect
recursive calls to _Internal_error_Occurred().
|
| |
|
|
|
|
| |
This function is only used if CPU_HAS_HARDWARE_INTERRUPT_STACK == TRUE.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The FAT32 FS info sector contains hints for the free cluster count and
the next free cluster. The previous code read these values during mount
and replaced them with invalid values. The shutdown operation updated
them with the current values. These values are only hints. Every FAT
implementation must cope with arbitrary values. They are intended to
speed up certain operations.
Now we update the free cluster count and next free culster in the FAT32
FS info sector only during unmount or sync operations and only if the
values have changed. This avoids writes to the FS info sector and
conforms to the behaviour of Linux and Windows.
The application can force an update of these values now with the fsync()
and fdatasync() operations. Applications that only read will perform
not write operations to the FAT32 FS info sector.
The new fat_sync() function performs all non-file specific
synchronizations.
|
| |
|
|
|
|
|
|
|
|
| |
Offset calculation was wrong for 16-bit and 64-bit pointer targets.
Remove unused offsets. Move Per_CPU_Control::dispatch_necessary after
Per_CPU_Control::isr_nest_level. Move SMP members to end of structure.
All assembler relevant members are now at the structure beginning.
|
|
|
|
|
|
| |
A BSP can supply an initial extension via the new optional
BSP_INITIAL_EXTENSION define. It will be the last in the initial
extension table.
|
|
|
|
|
| |
Define _System_state_Current and _Internal_errors_What_happened in
interr.c to make _Internal_error_Occurred() more independent.
|
|
|
|
|
|
|
|
|
| |
The initial extensions remain now in a read-only table and will not be
copied to work space memory. The extension chains are statically
initialized. This makes it possible to call _User_extensions_Iterate()
independent of the system state. It is now guaranteed that the fatal
callout of the initial extensions will be called provided the stack
pointer, the read-only data, and code memory are valid.
|
|
|
|
|
|
|
| |
Replace the separate user extension iterations with a single iteration
function. This reduces code size and improves maintainability since the
iteration logic is only in one function. The runtime overhead is
insignificant.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The comment in confdefs.h shows how to do it:
An application can define its own scheduling policy by defining
CONFIGURE_SCHEDULER_USER and the following:
- CONFIGURE_SCHEDULER_ENTRY_POINTS
- CONFIGURE_MEMORY_FOR_SCHEDULER - base memory
- CONFIGURE_MEMORY_PER_TASK_FOR_SCHEDULER - per task memory
|
|
|
|
|
| |
The Configuration is now read-only and must be statically initialized
via confdefs.h or similar.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Delete rtems_configuration_get_table(),
rtems_configuration_set_stack_space_size(),
rtems_configuration_set_work_space_size(), and
rtems_configuration_set_microseconds_per_tick().
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
The missing disconnect left the socket in an unusable state. Each send
request resulted in an EISCONN error.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add and use rtems_blkdev_request_done(). Block device transfer requests
must signal the completion status now with rtems_blkdev_request_done().
The return value of the block device IO control will be ignored for
transfer requests.
The first parameter of rtems_blkdev_request_cb is now the transfer
request structure.
Renamed rtems_blkdev_request::req_done to rtems_blkdev_request::done to
break third party drivers at compile time, otherwise this API change
would result in runtime errors.
|