sapi: Add nanoseconds_per_tick to configuration

Add nanoseconds_per_tick to rtems_configuration_table.  This value will
be derived from the microseconds_per_tick value.  This avoids some
calculations at run-time.
This commit is contained in:
Sebastian Huber
2012-06-14 14:20:30 +02:00
parent 1364eb9935
commit 50fc8f65a6
3 changed files with 16 additions and 2 deletions
+1 -1
View File
@@ -43,7 +43,7 @@ void bsp_start (void)
arm_cpu_mode = 0x1f;
/* configure clock period */
Configuration.microseconds_per_tick = 10000; /* us */
rtems_configuration_set_microseconds_per_tick (10000);
defaultExceptionHandler ();
}
+1
View File
@@ -2323,6 +2323,7 @@ rtems_fs_init_functions_t rtems_fs_init_helper =
CONFIGURE_STACK_SPACE_SIZE, /* required stack space */
CONFIGURE_MAXIMUM_USER_EXTENSIONS, /* maximum dynamic extensions */
CONFIGURE_MICROSECONDS_PER_TICK, /* microseconds per clock tick */
1000 * CONFIGURE_MICROSECONDS_PER_TICK, /* nanoseconds per clock tick */
CONFIGURE_TICKS_PER_TIMESLICE, /* ticks per timeslice quantum */
CONFIGURE_IDLE_TASK_BODY, /* user's IDLE task */
CONFIGURE_IDLE_TASK_STACK_SIZE, /* IDLE task stack size */
+14 -1
View File
@@ -146,6 +146,13 @@ typedef struct {
*/
uint32_t microseconds_per_tick;
/** This field specifies the number of nanoseconds which elapse
* between clock ticks. This value is derived from the
* microseconds_per_tick field and provided to avoid calculation at
* run-time.
*/
uint32_t nanoseconds_per_tick;
/** This field specifies the number of ticks in each task's timeslice.
*/
uint32_t ticks_per_timeslice;
@@ -281,7 +288,13 @@ extern rtems_configuration_table Configuration;
#define rtems_configuration_get_milliseconds_per_tick() \
(Configuration.microseconds_per_tick / 1000)
#define rtems_configuration_get_nanoseconds_per_tick() \
(Configuration.microseconds_per_tick * 1000)
(Configuration.nanoseconds_per_tick)
#define rtems_configuration_set_microseconds_per_tick( _us ) \
do { \
Configuration.microseconds_per_tick = (_us); \
Configuration.nanoseconds_per_tick = \
1000 * Configuration.microseconds_per_tick; \
} while (0)
#define rtems_configuration_get_ticks_per_timeslice() \
(Configuration.ticks_per_timeslice)