git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2154 35acf78f-673a-0410-8e92-d51de3d6d3f4
This commit is contained in:
parent
58e000a836
commit
030710ca45
|
@ -235,7 +235,7 @@ struct context {
|
||||||
* actions.
|
* actions.
|
||||||
* @note Implemented as global interrupt disable.
|
* @note Implemented as global interrupt disable.
|
||||||
*/
|
*/
|
||||||
#define port_lock() asm volatile ("cli")
|
#define port_lock() asm volatile ("cli" : : : "memory")
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Kernel-unlock action.
|
* @brief Kernel-unlock action.
|
||||||
|
@ -243,7 +243,7 @@ struct context {
|
||||||
* actions.
|
* actions.
|
||||||
* @note Implemented as global interrupt enable.
|
* @note Implemented as global interrupt enable.
|
||||||
*/
|
*/
|
||||||
#define port_unlock() asm volatile ("sei")
|
#define port_unlock() asm volatile ("sei" : : : "memory")
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Kernel-lock action from an interrupt handler.
|
* @brief Kernel-lock action from an interrupt handler.
|
||||||
|
@ -268,7 +268,7 @@ struct context {
|
||||||
* @note Of course non maskable interrupt sources are not included.
|
* @note Of course non maskable interrupt sources are not included.
|
||||||
* @note Implemented as global interrupt disable.
|
* @note Implemented as global interrupt disable.
|
||||||
*/
|
*/
|
||||||
#define port_disable() asm volatile ("cli")
|
#define port_disable() asm volatile ("cli" : : : "memory")
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Disables the interrupt sources below kernel-level priority.
|
* @brief Disables the interrupt sources below kernel-level priority.
|
||||||
|
@ -276,13 +276,13 @@ struct context {
|
||||||
* @note Same as @p port_disable() in this port, there is no difference
|
* @note Same as @p port_disable() in this port, there is no difference
|
||||||
* between the two states.
|
* between the two states.
|
||||||
*/
|
*/
|
||||||
#define port_suspend() asm volatile ("cli")
|
#define port_suspend() asm volatile ("cli" : : : "memory")
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Enables all the interrupt sources.
|
* @brief Enables all the interrupt sources.
|
||||||
* @note Implemented as global interrupt enable.
|
* @note Implemented as global interrupt enable.
|
||||||
*/
|
*/
|
||||||
#define port_enable() asm volatile ("sei")
|
#define port_enable() asm volatile ("sei" : : : "memory")
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Enters an architecture-dependent IRQ-waiting mode.
|
* @brief Enters an architecture-dependent IRQ-waiting mode.
|
||||||
|
@ -294,8 +294,8 @@ struct context {
|
||||||
* reasons.
|
* reasons.
|
||||||
*/
|
*/
|
||||||
#if ENABLE_WFI_IDLE != 0
|
#if ENABLE_WFI_IDLE != 0
|
||||||
#define port_wait_for_interrupt() { \
|
#define port_wait_for_interrupt() { \
|
||||||
asm volatile ("sleep"); \
|
asm volatile ("sleep" : : : "memory"); \
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
#define port_wait_for_interrupt()
|
#define port_wait_for_interrupt()
|
||||||
|
|
Loading…
Reference in New Issue