XWOS API
4.0
XWOS C/C++ API参考手册
|
XWOS通用库:内存屏障 更多...
#include <cfg/project.h>
#include <xwos/ospl/soc/isa.h>
宏定义 | |
#define | xwmb_access(t, v) (*((volatile t *)&(v))) |
: 强制从内存中访问指定类型的变量 | |
#define | xwmb_read(t, v, p) xwmb_access(t, v) = (*(volatile t * )(p)) |
: 读取地址中的指定类型的值 | |
#define | xwmb_write(t, p, v) (*(volatile t * )(p)) = (v) |
存储指定类型的值到地址中 | |
#define | xwmb_compiler() |
编译器内存屏障 | |
#define | xwmb_mp_mb() |
多核系统内存屏障 | |
#define | xwmb_mp_rmb() |
多核系统读内存屏障 | |
#define | xwmb_mp_wmb() |
多核写内存屏障 | |
#define | xwmb_ddb() xwmb_compiler() |
数据依赖屏障 @detail | |
#define | xwmb_mp_consume() xwmb_ddb() |
多核系统 消费 屏障,数据依赖屏障 | |
#define | xwmb_mp_acquire() xwmb_mp_mb() |
多核系统 获取 屏障 | |
#define | xwmb_mp_release() xwmb_mp_mb() |
多核系统 释放 屏障 | |
#define | xwmb_mp_load_acquire(t, v, p) |
: 读取地址中的指定类型的值,并保证此处的“读”操作一定发生在之后的“读写”操作之前 | |
#define | xwmb_mp_store_release(t, p, v) |
存储指定类型的值到地址中,并保证此处的“写”操作一定发生在之前的“读写”操作之后 | |
XWOS通用库:内存屏障
This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
在文件 mb.h 中定义.