From 611c3138873b38fd26c19c43ce3436fe0528604a Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 26 Aug 2013 13:01:28 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/branches/kernel_3_dev@6225 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/hal/osal/chibios/osal.h | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'os/hal/osal') diff --git a/os/hal/osal/chibios/osal.h b/os/hal/osal/chibios/osal.h index 937b0f38e..55141960b 100644 --- a/os/hal/osal/chibios/osal.h +++ b/os/hal/osal/chibios/osal.h @@ -117,6 +117,13 @@ /* Module data structures and types. */ /*===========================================================================*/ +#if 0 +/** + * @brief Type of a system status word. + */ +typedef uint32_t syssts_t; +#endif + #if 0 /** * @brief Type of a message. @@ -389,6 +396,35 @@ static inline void osalSysUnlockFromISR(void) { chSysUnlockFromISR(); } +/** + * @brief Returns the execution context and enters the kernel lock mode. + * @details This functions enters into a critical zone and can be called + * from any context. Because its flexibility it is less efficient + * than @p chSysLock() which is preferable when the calling context + * is known. + * + * @return The previous system status, the encoding of this + * status word is architecture-dependent and opaque. + * + * @xclass + */ +static inline syssts_t osalSysGetAndLockX(void) { + + return chSysGetAndLockX(); +} + +/** + * @brief Restores the specified execution status. + * + * @param[in] sts the system status to be restored. + * + * @xclass + */ +static inline void osalSysRestoreLockX(syssts_t sts) { + + chSysRestoreLockX(sts); +} + /** * @brief Polled delay. * @note The real delay is always few cycles in excess of the specified -- cgit v1.2.3