Skip to content

Commit

Permalink
timecounter: Port to RTEMS
Browse files Browse the repository at this point in the history
New test sptests/timecounter01.

Update #2271.
  • Loading branch information
Alexander Krutwig authored and sebhub committed May 20, 2015
1 parent cc69384 commit 31be416
Show file tree
Hide file tree
Showing 19 changed files with 1,411 additions and 52 deletions.
3 changes: 3 additions & 0 deletions cpukit/sapi/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ include $(top_srcdir)/automake/compile.am
include_rtemsdir = $(includedir)/rtems

include_rtems_HEADERS = include/confdefs.h
include_rtems_HEADERS += include/rtems/bsd.h
include_rtems_HEADERS += include/rtems/chain.h
include_rtems_HEADERS += include/rtems/config.h
include_rtems_HEADERS += include/rtems/counter.h
Expand All @@ -19,6 +20,7 @@ include_rtems_HEADERS += include/rtems/rbheap.h
include_rtems_HEADERS += include/rtems/rbtree.h
include_rtems_HEADERS += include/rtems/scheduler.h
include_rtems_HEADERS += include/rtems/sptables.h
include_rtems_HEADERS += include/rtems/timecounter.h
include_rtems_HEADERS += include/rtems/timespec.h

EXTRA_DIST = include/rtems/README
Expand All @@ -39,6 +41,7 @@ libsapi_a_SOURCES += src/delayticks.c
libsapi_a_SOURCES += src/delaynano.c
libsapi_a_SOURCES += src/profilingiterate.c
libsapi_a_SOURCES += src/profilingreportxml.c
libsapi_a_SOURCES += src/tcsimpleinstall.c
libsapi_a_CPPFLAGS = $(AM_CPPFLAGS)

include $(srcdir)/preinstall.am
Expand Down
141 changes: 141 additions & 0 deletions cpukit/sapi/include/rtems/bsd.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
/**
* @file
*
* @ingroup BSD
*
* @brief BSD Compatibility API
*/

/*
* Copyright (c) 2015 embedded brains GmbH. All rights reserved.
*
* embedded brains GmbH
* Dornierstr. 4
* 82178 Puchheim
* Germany
* <rtems@embedded-brains.de>
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.org/license/LICENSE.
*/

#ifndef _RTEMS_BSD_H
#define _RTEMS_BSD_H

#include <rtems/score/timecounter.h>
#include <rtems/score/basedefs.h>

#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */

/**
* @defgroup BSD BSD Compatibility Support
*
* @{
*/

/**
* @copydoc _Timecounter_Bintime()
*/
RTEMS_INLINE_ROUTINE void rtems_bsd_bintime( struct bintime *bt )
{
_Timecounter_Bintime( bt );
}

/**
* @copydoc _Timecounter_Nanotime()
*/
RTEMS_INLINE_ROUTINE void rtems_bsd_nanotime( struct timespec *ts )
{
_Timecounter_Nanotime( ts );
}

/**
* @copydoc _Timecounter_Microtime()
*/
RTEMS_INLINE_ROUTINE void rtems_bsd_microtime( struct timeval *tv )
{
_Timecounter_Microtime( tv );
}

/**
* @copydoc _Timecounter_Binuptime()
*/
RTEMS_INLINE_ROUTINE void rtems_bsd_binuptime( struct bintime *bt )
{
_Timecounter_Binuptime( bt );
}

/**
* @copydoc _Timecounter_Nanouptime()
*/
RTEMS_INLINE_ROUTINE void rtems_bsd_nanouptime( struct timespec *ts )
{
_Timecounter_Nanouptime( ts );
}

/**
* @copydoc _Timecounter_Microtime()
*/
RTEMS_INLINE_ROUTINE void rtems_bsd_microuptime( struct timeval *tv )
{
_Timecounter_Microuptime( tv );
}

/**
* @copydoc _Timecounter_Getbintime()
*/
RTEMS_INLINE_ROUTINE void rtems_bsd_getbintime( struct bintime *bt )
{
_Timecounter_Getbintime( bt );
}

/**
* @copydoc _Timecounter_Getnanotime()
*/
RTEMS_INLINE_ROUTINE void rtems_bsd_getnanotime( struct timespec *ts )
{
_Timecounter_Getnanotime( ts );
}

/**
* @copydoc _Timecounter_Getmicrotime()
*/
RTEMS_INLINE_ROUTINE void rtems_bsd_getmicrotime( struct timeval *tv )
{
_Timecounter_Getmicrotime( tv );
}

/**
* @copydoc _Timecounter_Getbinuptime()
*/
RTEMS_INLINE_ROUTINE void rtems_bsd_getbinuptime( struct bintime *bt )
{
_Timecounter_Getbinuptime( bt );
}

/**
* @copydoc _Timecounter_Getnanouptime()
*/
RTEMS_INLINE_ROUTINE void rtems_bsd_getnanouptime( struct timespec *ts )
{
_Timecounter_Getnanouptime( ts );
}

/**
* @copydoc _Timecounter_Getmicrouptime()
*/
RTEMS_INLINE_ROUTINE void rtems_bsd_getmicrouptime( struct timeval *tv )
{
_Timecounter_Getmicrouptime( tv );
}

/** @} */

#ifdef __cplusplus
}
#endif /* __cplusplus */

#endif /* _RTEMS_BSD_H */
Loading

0 comments on commit 31be416

Please sign in to comment.