From 7404ce9c286b2a6076d4e8a290b6276ce422cc38 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 11 Sep 2013 13:19:35 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/branches/kernel_3_dev@6294 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/nil/ports/ARMCMx/nilcore.h | 1 - os/rt/include/chvt.h | 9 ++++++-- os/rt/ports/ARMCMx/chcore.h | 34 +++++++++++++++++++++++++----- os/rt/ports/ARMCMx/chcore_v6m.h | 19 ----------------- os/rt/ports/ARMCMx/chcore_v7m.h | 19 ----------------- os/rt/ports/ARMCMx/compilers/GCC/chtypes.h | 1 - 6 files changed, 36 insertions(+), 47 deletions(-) diff --git a/os/nil/ports/ARMCMx/nilcore.h b/os/nil/ports/ARMCMx/nilcore.h index 9d0303e0a..2f32f3cc0 100644 --- a/os/nil/ports/ARMCMx/nilcore.h +++ b/os/nil/ports/ARMCMx/nilcore.h @@ -136,7 +136,6 @@ typedef uint64_t stkalign_t; real declarations are inside the sub-headers being specific for the sub-architectures.*/ #if defined(__DOXYGEN__) - /** * @brief Interrupt saved context. * @details This structure represents the stack frame saved during a diff --git a/os/rt/include/chvt.h b/os/rt/include/chvt.h index 712aff699..fa859e8fe 100644 --- a/os/rt/include/chvt.h +++ b/os/rt/include/chvt.h @@ -41,12 +41,17 @@ /* Derived constants and error checks. */ /*===========================================================================*/ +#if (CH_CFG_ST_RESOLUTION != 16) && (CH_CFG_ST_RESOLUTION != 32) +#error "invalid CH_CFG_ST_RESOLUTION specified, must be 16 or 32" +#endif + #if CH_CFG_ST_FREQUENCY <= 0 -#error "invalid CH_CFG_ST_FREQUENCY specified" +#error "invalid CH_CFG_ST_FREQUENCY specified, must be greated than zero" #endif #if (CH_CFG_ST_TIMEDELTA < 0) || (CH_CFG_ST_TIMEDELTA == 1) -#error "invalid CH_CFG_ST_TIMEDELTA specified" +#error "invalid CH_CFG_ST_TIMEDELTA specified, must " \ + "be zero or greater than one" #endif #if (CH_CFG_ST_TIMEDELTA > 0) && (CH_CFG_TIME_QUANTUM > 0) diff --git a/os/rt/ports/ARMCMx/chcore.h b/os/rt/ports/ARMCMx/chcore.h index de95d8c4d..91231505f 100644 --- a/os/rt/ports/ARMCMx/chcore.h +++ b/os/rt/ports/ARMCMx/chcore.h @@ -110,18 +110,32 @@ asm module.*/ #if !defined(_FROM_ASM_) -/* The following declarations are there just for Doxygen documentation, the - real declarations are inside the sub-headers being specific for the - sub-architectures.*/ -#if defined(__DOXYGEN__) /** - * @brief Stack and memory alignment enforcement. + * @brief Type of system time. + */ +#if (CH_CFG_ST_RESOLUTION == 32) || defined(__DOXYGEN__) +typedef uint32_t systime_t; +#else +typedef uint16_t systime_t; +#endif + +/** + * @brief Type of a generic ARM register. + */ +typedef void *regarm_t; + +/** + * @brief Type of stack and memory alignment enforcement. * @note In this architecture the stack alignment is enforced to 64 bits, * 32 bits alignment is supported by hardware but deprecated by ARM, * the implementation choice is to not offer the option. */ typedef uint64_t stkalign_t; +/* The following declarations are there just for Doxygen documentation, the + real declarations are inside the sub-headers being specific for the + sub-architectures.*/ +#if defined(__DOXYGEN__) /** * @brief Interrupt saved context. * @details This structure represents the stack frame saved during a @@ -138,6 +152,16 @@ struct port_extctx {}; struct port_intctx {}; #endif /* defined(__DOXYGEN__) */ +/** + * @brief Platform dependent part of the @p thread_t structure. + * @details In this port the structure just holds a pointer to the + * @p port_intctx structure representing the stack pointer + * at context switch time. + */ +struct context { + struct port_intctx *r13; +}; + #endif /* !defined(_FROM_ASM_) */ /*===========================================================================*/ diff --git a/os/rt/ports/ARMCMx/chcore_v6m.h b/os/rt/ports/ARMCMx/chcore_v6m.h index 7cba6df34..f0878171a 100644 --- a/os/rt/ports/ARMCMx/chcore_v6m.h +++ b/os/rt/ports/ARMCMx/chcore_v6m.h @@ -147,17 +147,9 @@ #if !defined(_FROM_ASM_) -/** - * @brief Generic ARM register. - */ -typedef void *regarm_t; - /* The documentation of the following declarations is in chconf.h in order to not have duplicated structure names into the documentation.*/ #if !defined(__DOXYGEN__) - -typedef uint64_t stkalign_t; - struct port_extctx { regarm_t r0; regarm_t r1; @@ -180,19 +172,8 @@ struct port_intctx { regarm_t r7; regarm_t lr; }; - #endif /* !defined(__DOXYGEN__) */ -/** - * @brief Platform dependent part of the @p thread_t structure. - * @details In this port the structure just holds a pointer to the - * @p port_intctx structure representing the stack pointer - * at context switch time. - */ -struct context { - struct port_intctx *r13; -}; - /*===========================================================================*/ /* Module macros. */ /*===========================================================================*/ diff --git a/os/rt/ports/ARMCMx/chcore_v7m.h b/os/rt/ports/ARMCMx/chcore_v7m.h index 3c5947557..c8856c33a 100644 --- a/os/rt/ports/ARMCMx/chcore_v7m.h +++ b/os/rt/ports/ARMCMx/chcore_v7m.h @@ -208,17 +208,9 @@ asm module.*/ #if !defined(_FROM_ASM_) -/** - * @brief Generic ARM register. - */ -typedef void *regarm_t; - /* The documentation of the following declarations is in chconf.h in order to not have duplicated structure names into the documentation.*/ #if !defined(__DOXYGEN__) - -typedef uint64_t stkalign_t; - struct port_extctx { regarm_t r0; regarm_t r1; @@ -279,19 +271,8 @@ struct port_intctx { regarm_t r11; regarm_t lr; }; - #endif /* !defined(__DOXYGEN__) */ -/** - * @brief Platform dependent part of the @p thread_t structure. - * @details In this port the structure just holds a pointer to the - * @p port_intctx structure representing the stack pointer - * at context switch time. - */ -struct context { - struct port_intctx *r13; -}; - /*===========================================================================*/ /* Module macros. */ /*===========================================================================*/ diff --git a/os/rt/ports/ARMCMx/compilers/GCC/chtypes.h b/os/rt/ports/ARMCMx/compilers/GCC/chtypes.h index e16e4379e..1cf45c99b 100644 --- a/os/rt/ports/ARMCMx/compilers/GCC/chtypes.h +++ b/os/rt/ports/ARMCMx/compilers/GCC/chtypes.h @@ -51,7 +51,6 @@ #endif /** @} */ -typedef uint32_t systime_t; /**< System time. */ typedef uint32_t rtcnt_t; /**< Realtime counter. */ typedef uint64_t rttime_t; /**< Time accumulator. */ typedef uint32_t syssts_t; /**< System status word. */ -- cgit v1.2.3