Add _CPU_Counter_frequency()

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.
This commit is contained in:
Sebastian Huber
2018-05-23 14:17:25 +02:00
parent 4c7b18e358
commit 65f868cac6
80 changed files with 293 additions and 86 deletions

View File

@@ -60,6 +60,11 @@ unsigned int BSP_time_base_divisor;
extern unsigned long __rtems_end[];
uint32_t _CPU_Counter_frequency(void)
{
return bsp_clicks_per_usec * 1000000;
}
/*
* bsp_start
*
@@ -81,7 +86,6 @@ void bsp_start( void )
BSP_bus_frequency = (unsigned int)PSIM_INSTRUCTIONS_PER_MICROSECOND;
bsp_clicks_per_usec = BSP_bus_frequency;
BSP_time_base_divisor = 1;
rtems_counter_initialize_converter(bsp_clicks_per_usec * 1000000);
/*
* Initialize default raw exception handlers.