当前位置: 首页 > news >正文

RISCV下Dovetail移植(2)——原子操作

Dovetail将Linux中的中断全部虚拟化,来实现无论何时都能被中断以提供evl的实时性。在这种中断保护被虚拟化的情况下,需要在所有需要中断禁用以序列化调用者的地方,反转这种虚拟化效果。通常,以下文件会受到影响:

  • include/asm-generic/atomic.h
  • include/asm-generic/cmpxchg-local.h
  • include/asm-generic/cmpxchg.h

同样,在架构特定的代码中,也可能存在以下文件:

  • arch/arm/include/asm/atomic.h
  • arch/arm/include/asm/bitops.h
  • arch/arm/include/asm/cmpxchg.h

但riscv提供amo指令,AMO 指令能够在一个指令中完成读取、修改和写回操作,这些操作是不可分割的,不会被中断或重新排序,因此并不需要修改中断。

http://www.dtcms.com/a/51707.html

相关文章:

  • 【实战ES】实战 Elasticsearch:快速上手与深度实践-3.2.3 案例:新闻搜索引擎的相关性优化
  • 安装scikit-image==0.16.2报错
  • Electron桌面应用开发:自定义菜单
  • 墨迹天气携手天润融通,用AI提升气象服务效率
  • Anolis服务器Arm64架构服务器配置(其他版本服务器解决方式思路一质)
  • 18.分布式任务调度
  • 进程控制 ─── linux第15课
  • 信号量(Semaphore)和文件锁(File Lock)
  • 第六章 流量特征分析-钓鱼邮件
  • RT-thread的MultiButton按键库的使用
  • Windows 系统下 Android 开发常用快捷键‌的整理
  • CentOS 7.9 上安装 Docker Compose
  • cmake、CMakeLists.txt、make、ninja
  • 【Flink银行反欺诈系统设计方案】5.反欺诈系统全生命周期设计
  • 深入浅出:UniApp 从入门到精通全指南
  • nacos和Eureka的学习
  • python量化交易——金融数据管理最佳实践——使用qteasy大批量自动拉取金融数据
  • 《谈判力》核心原则解读
  • “RStudio UI“快速指南
  • MiniMind用极低的成本训练属于自己的大模型
  • 前后分离文件上传案例,前端HTML,后端Net6开发的webapi(完整源代码)下载
  • 【 <一> 炼丹初探:JavaWeb 的起源与基础】之 Servlet 与 JSP 的协作:MVC 模式的雏形
  • 《ARM64体系结构编程与实践》学习笔记(五)
  • 电脑的系统版本是windows7的,下载pycharm的哪个版本比较好呢?
  • 组合逻辑和时序逻辑
  • 每日一题----------匿名内部类的注意事项
  • SpringCloud注册中心-eureka
  • 【深度学习CV】【图像分类】从CNN(卷积神经网络)、ResNet迁移学习到GPU高效训练优化【案例代码】详解
  • YOLOv8 自定义目标检测
  • 【原创】C# HttpClient 读取流数据的问题