|
XWOS API
4.0
XWOS C/C++ API参考手册
|

结构体 | |
| struct | xwos_splk |
| XWOS API:自旋锁 更多... | |
宏定义 | |
| #define | XWOS_SPLK_INITIALIZER { .osspl = XWOSDL_SPLK_INITIALIZER, } |
| XWOS API:自旋锁的初始值 | |
函数 | |
| static void | xwos_splk_init (struct xwos_splk *spl) |
| XWOS API:初始化自旋锁 | |
| static void | xwos_splk_lock (struct xwos_splk *spl) |
| XWOS API:上锁自旋锁,若自旋锁已开启临界区,就自旋等待 | |
| static xwer_t | xwos_splk_trylock (struct xwos_splk *spl) |
| XWOS API:尝试上锁自旋锁 | |
| static void | xwos_splk_unlock (struct xwos_splk *spl) |
| XWOS API:解锁自旋锁 | |
| static void | xwos_splk_lock_cpuirq (struct xwos_splk *spl) |
| XWOS API:上锁自旋锁,并关闭本地CPU的中断 | |
| static xwer_t | xwos_splk_trylock_cpuirq (struct xwos_splk *spl) |
| XWOS API:尝试上锁自旋锁,并关闭本地CPU的中断 | |
| static void | xwos_splk_unlock_cpuirq (struct xwos_splk *spl) |
| XWOS API:解锁自旋锁,并开启本地CPU的中断 | |
| static void | xwos_splk_lock_cpuirqsv (struct xwos_splk *spl, xwreg_t *cpuirq) |
| XWOS API:上锁自旋锁,保存本地CPU的中断标志并关闭 | |
| static xwer_t | xwos_splk_trylock_cpuirqsv (struct xwos_splk *spl, xwreg_t *cpuirq) |
| XWOS API:尝试上锁自旋锁,保存本地CPU的中断标志并关闭 | |
| static void | xwos_splk_unlock_cpuirqrs (struct xwos_splk *spl, xwreg_t cpuirq) |
| XWOS API:解锁自旋锁,并恢复本地CPU的中断标志 | |
| static void | xwos_splk_lock_irqs (struct xwos_splk *spl, const xwirq_t irqs[], xwsz_t num) |
| XWOS API:上锁自旋锁,并关闭部分中断 | |
| static xwer_t | xwos_splk_trylock_irqs (struct xwos_splk *spl, const xwirq_t irqs[], xwsz_t num) |
| XWOS API:尝试上锁自旋锁,并关闭部分中断 | |
| static void | xwos_splk_unlock_irqs (struct xwos_splk *spl, const xwirq_t irqs[], xwsz_t num) |
| XWOS API:解锁自旋锁,并开启部分中断 | |
| static void | xwos_splk_lock_irqssv (struct xwos_splk *spl, const xwirq_t irqs[], xwreg_t flags[], xwsz_t num) |
| XWOS API:上锁自旋锁,保存部分中断的中断标志并关闭 | |
| static xwer_t | xwos_splk_trylock_irqssv (struct xwos_splk *spl, const xwirq_t irqs[], xwreg_t flags[], xwsz_t num) |
| XWOS API:尝试上锁自旋锁,保存部分中断的中断标志并关闭 | |
| static void | xwos_splk_unlock_irqsrs (struct xwos_splk *spl, const xwirq_t irqs[], xwreg_t flags[], xwsz_t num) |
| XWOS API:解锁自旋锁,并恢复部分中断的中断标志 | |
| static void | xwos_splk_lock_bh (struct xwos_splk *spl) |
| XWOS API:上锁自旋锁,关闭本地CPU的中断底半部 | |
| static xwer_t | xwos_splk_trylock_bh (struct xwos_splk *spl) |
| XWOS API:尝试上锁自旋锁,关闭本地CPU的中断底半部 | |
| static void | xwos_splk_unlock_bh (struct xwos_splk *spl) |
| XWOS API:解锁自旋锁,开启本地CPU的中断底半部 | |
技术参考手册: 自旋锁
xwos_splk_init() :静态初始化xwos_splk_lock() :上锁,关闭抢占xwos_splk_trylock() :尝试上锁,关闭抢占xwos_splk_unlock() :解锁,开启抢占xwos_splk_lock_cpuirq() :上锁,关闭抢占、CPU中断xwos_splk_trylock_cpuirq() :尝试上锁,关闭抢占、CPU中断xwos_splk_unlock_cpuirq() :解锁,开启抢占、CPU中断xwos_splk_lock_cpuirqsv() :上锁,关闭抢占,保存CPU中断标志并关闭xwos_splk_trylock_cpuirqsv() :尝试上锁,关闭抢占,保存CPU中断标志并关闭xwos_splk_unlock_cpuirqrs() :解锁,开启抢占,恢复CPU中断xwos_splk_lock_irqs() :上锁,关闭抢占,关闭部分中断xwos_splk_trylock_irqs() :尝试上锁,关闭抢占,关闭部分中断xwos_splk_unlock_irqs() :解锁,开启抢占、开启部分中断xwos_splk_lock_irqssv() :上锁,关闭抢占,保存部分中断标志并关闭xwos_splk_trylock_irqssv() :尝试上锁,关闭抢占,保存部分中断标志并关闭xwos_splk_unlock_irqsrs() :解锁,开启抢占、恢复部分中断xwos_splk_lock_bh() :上锁,关闭抢占、中断底半部xwos_splk_trylock_bh() :尝试上锁,关闭抢占、中断底半部xwos_splk_unlock_bh() :解锁,开启抢占、中断底半部C++头文件: xwos/osal/lock/spinlock.hxx
| #define XWOS_SPLK_INITIALIZER { .osspl = XWOSDL_SPLK_INITIALIZER, } |
XWOS API:自旋锁的初始值
在文件 spinlock.h 第 80 行定义.
|
inlinestatic |
XWOS API:初始化自旋锁
| [in] | spl | 自旋锁的指针 |
在文件 spinlock.h 第 89 行定义.

|
inlinestatic |
XWOS API:上锁自旋锁,若自旋锁已开启临界区,就自旋等待
| [in] | spl | 自旋锁的指针 |
在文件 spinlock.h 第 103 行定义.

|
inlinestatic |
XWOS API:上锁自旋锁,关闭本地CPU的中断底半部
| [in] | spl | 自旋锁的指针 |
在文件 spinlock.h 第 358 行定义.

|
inlinestatic |
XWOS API:上锁自旋锁,并关闭本地CPU的中断
| [in] | spl | 自旋锁的指针 |
在文件 spinlock.h 第 147 行定义.
XWOS API:上锁自旋锁,保存本地CPU的中断标志并关闭
| [in] | spl | 自旋锁的指针 |
| [out] | cpuirq | 缓冲区指针,用于返回本地CPU的中断标志 |
在文件 spinlock.h 第 192 行定义.

|
inlinestatic |
XWOS API:上锁自旋锁,并关闭部分中断
| [in] | spl | 自旋锁的指针 |
| [in] | irqs | 中断资源数组指针 |
| [in] | num | 数组中元素数量 |
在文件 spinlock.h 第 241 行定义.
|
inlinestatic |
XWOS API:上锁自旋锁,保存部分中断的中断标志并关闭
| [in] | spl | 自旋锁的指针 |
| [in] | irqs | 中断资源数组指针 |
| [out] | flags | 缓冲区指针,用于返回部分中断的中断标志 |
| [in] | num | 数组中元素数量 |
在文件 spinlock.h 第 300 行定义.

XWOS API:尝试上锁自旋锁
| [in] | spl | 自旋锁的指针 |
| XWOK | 没有错误 |
| -EAGAIN | 获得自旋锁失败 |
在文件 spinlock.h 第 121 行定义.

XWOS API:尝试上锁自旋锁,关闭本地CPU的中断底半部
| [in] | spl | 自旋锁的指针 |
| XWOK | 没有错误 |
| -EAGAIN | 获得自旋锁失败 |
在文件 spinlock.h 第 377 行定义.

XWOS API:尝试上锁自旋锁,并关闭本地CPU的中断
| [in] | spl | 自旋锁的指针 |
| XWOK | 没有错误 |
| -EAGAIN | 获得自旋锁失败 |
在文件 spinlock.h 第 165 行定义.
XWOS API:尝试上锁自旋锁,保存本地CPU的中断标志并关闭
| [in] | spl | 自旋锁的指针 |
| [out] | cpuirq | 缓冲区指针,用于返回本地CPU的中断标志 |
| XWOK | 没有错误 |
| -EAGAIN | 获得自旋锁失败 |
在文件 spinlock.h 第 211 行定义.

|
inlinestatic |
XWOS API:尝试上锁自旋锁,并关闭部分中断
| [in] | spl | 自旋锁的指针 |
| [in] | irqs | 中断资源数组指针 |
| [in] | num | 数组中元素数量 |
| XWOK | 没有错误 |
| -EAGAIN | 获得自旋锁失败 |
在文件 spinlock.h 第 264 行定义.
|
inlinestatic |
XWOS API:尝试上锁自旋锁,保存部分中断的中断标志并关闭
| [in] | spl | 自旋锁的指针 |
| [in] | irqs | 中断资源数组指针 |
| [out] | flags | 缓冲区指针,用于返回部分中断的中断标志 |
| [in] | num | 数组中元素数量 |
| XWOK | 没有错误 |
| -EAGAIN | 获得自旋锁失败 |
在文件 spinlock.h 第 324 行定义.

|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
XWOS API:解锁自旋锁,并恢复本地CPU的中断标志
| [in] | spl | 自旋锁的指针 |
| [in] | cpuirq | 本地CPU的中断标志 |
在文件 spinlock.h 第 224 行定义.

|
inlinestatic |
XWOS API:解锁自旋锁,并开启部分中断
| [in] | spl | 自旋锁的指针 |
| [in] | irqs | 中断资源数组指针 |
| [in] | num | 数组中元素数量 |
在文件 spinlock.h 第 280 行定义.